Payment processing and customer engagement platform methods, apparatuses and media

ABSTRACT

A customer engagement device (CED) may receive a payment token associated with a transaction from a point of sale (POS) system. The CED may retrieve transaction details associated with the transaction from a gateway. The CED may prompt a customer to provide payment information for the transaction and may collect payment information from the customer. The CED may provide the payment information and may obtain a transaction authorization from the gateway. The CED may inform the POS system regarding the transaction authorization.

CROSS-REFERENCE TO RELATED APPLICATIONS

Applicant hereby claims priority under 35 U.S.C. §119 to U.S.provisional patent application No. 61/568,864, filed Dec. 9, 2011,entitled “SYSTEM AND METHOD FOR SECURED PAYMENT COLLECTION ANDTRANSACTION PROCESSING” docket no. 701105.000050; and to U.S.provisional patent application No. 61/717,794, filed Oct. 24, 2012,entitled “PAYMENT PROCESSING AND CUSTOMER ENGAGEMENT PLATFORM METHODS,APPARATUSES AND MEDIA” docket no. 701105-000000.

The entire contents of the aforementioned applications are hereinexpressly incorporated by reference in their entirety.

This disclosure describes PAYMENT PROCESSING AND CUSTOMER ENGAGEMENTPLATFORM METHODS, APPARATUSES AND MEDIA (hereinafter “PPCEP”). A portionof the disclosure of this patent document contains material which issubject to copyright and/or mask work protection. The copyright and/ormask work owners have no objection to the facsimile reproduction byanyone of the patent document or the patent disclosure, as it appears inthe Patent and Trademark Office patent file or records, but otherwisereserve all copyright and mask work rights whatsoever.

FIELD

The present disclosure is directed generally to payment processing andcustomer engagement platforms.

BACKGROUND

Credit cards, debit cards, and other electronic payment methods that donot involve physical currency are popular with both customers andmerchants. In a typical transaction, a merchant may swipe a customer'scredit card to provide the merchant's point of sale (POS) system withpayment details. The merchant's POS may then transmit these paymentdetails to a payment processor and request the payment processor toauthorize the transaction.

SUMMARY

The Advantages of the present disclosure will be set forth in and becomeapparent from the description that follows. Additional advantages of thedisclosure will be realized and attained by the methods and systemsparticularly pointed out in the written description and claims hereof,as well as from the appended drawings.

To achieve these and other advantages and in accordance with the purposeof the disclosure, as embodied herein, in one embodiment, the disclosureprovides a processor-implemented payment collection method, thatincludes receiving by a customer engagement device via a processor apayment token associated with a transaction from a point of sale system,retrieving via the processor transaction details associated with thetransaction from a gateway, prompting via the processor a customer toprovide payment information for the transaction, collecting via theprocessor payment information from the customer, providing via theprocessor the payment information to the gateway, obtaining via theprocessor a transaction authorization from the gateway based on theprovided payment information, and informing via the processor the pointof sale system regarding the transaction authorization.

In accordance with a further aspect, the retrieved transaction detailscan include at least one of a customer identifier, an item identifier,item quantity, item price and a total amount due. The paymentinformation can include at least one of a credit card number, a debitcard number, a mobile wallet account number, a coupon, a code, a rewardsaccount number, and a loyalty program account number. The paymentinformation may be collected via at least one of a card reader, ascanner, a contactless chip reader, a keyboard and a touchscreen.Collecting payment information can further include determining availablepayment methods for the transaction, determining a preference order forthe available payment methods, and displaying the available paymentmethods in accordance with the preference order.

In accordance with still further aspects, the available payment methodsare preferably payment methods supported by the customer engagementdevice. the available payment methods can be determined based oncharacteristics of the transaction. The characteristics of thetransaction can include at least one of item type, item price, itemquantity and a total amount due. The preference order can be determinedbased on transaction costs associated with the available paymentmethods. The preference order can be determined by the processor basedon branding associated with the available payment methods. Thepreference order can be determined based on tracking or reportingcapabilities associated with the available payment methods. Displayingthe available payment methods can include, for example, arranging theavailable payment methods from most preferable to least preferable. Ifdesired, displaying the available payment methods can include selectingthe most preferable payment method for the customer by default.

In accordance with further aspects, the method can further includeobtaining a payment method selection from the customer, determining thata more preferable payment method is available, providing a paymentsteering message to the customer, obtaining an updated payment methodselection from the customer, and obtaining payment details associatedwith the updated payment method selection. The payment steering messagecan include an informational message. The payment steering message caninclude an incentive for using the more preferable payment method. Forexample, the incentive can include a discount offer, a cash back offer,a coupon and/or loyalty points. If desired, the method can furtherinclude determining that reward points are associated with thecustomer's payment method. If desired, the method can further includefacilitating the use of the reward points to pay for at least a portionof the transaction. If desired, the method can include obtainingpromotional material appropriate for the customer engagement device,providing the promotional material to the customer.

In accordance with further embodiments, the disclosure provides apayment collection apparatus, including a memory, a processor incommunication with the memory, and configured to issue a plurality ofprocessing instructions stored in the memory, wherein the processor isadapted and configured to issue instructions to receive by a customerengagement device a payment token associated with a transaction from apoint of sale system, retrieve transaction details associated with thetransaction from a gateway, prompt a customer to provide paymentinformation for the transaction, collect payment information from thecustomer, provide the payment information to the gateway, obtain atransaction authorization from the gateway based on the provided paymentinformation, and inform the point of sale system regarding thetransaction authorization.

In accordance with further aspects, the retrieved transaction detailscan include at least one of a customer identifier, an item identifier,an item quantity, an item price and a total amount due. The paymentinformation can include one or more of a credit card number, a debitcard number, a mobile wallet account number, a coupon, a code, a rewardsaccount number, and a loyalty program account number. The apparatus caninclude one or more of a card reader, a scanner, a contactless chipreader, a keyboard and a touchscreen for collecting payment information.The processor can be adapted and configured to issue instructions todetermine available payment methods for the transaction, determine apreference order for the available payment methods, and display theavailable payment methods in accordance with the preference order. Theavailable payment methods are preferably payment methods supported bythe customer engagement device. The processor can be adapted andconfigured to issue instructions to determine available payment methodsbased on characteristics of the transaction.

In accordance with further aspects, the characteristics of thetransaction can include one or more of item type, item price, itemquantity and a total amount due. The preference order can be determinedby the processor based on transaction costs associated with theavailable payment methods. The preference order can be determined by theprocessor based on branding associated with the available paymentmethods. The preference order can be determined by the processor basedon tracking or reporting capabilities associated with the availablepayment methods. The processor can be adapted and configured to issueinstructions to display the available payment methods by arranging theavailable payment methods from most preferable to least preferable. Theprocessor can be adapted and configured to issue instructions to displaythe available payment methods by selecting the most preferable paymentmethod for the customer by default.

In accordance with further aspects, the processor of the paymentcollection apparatus can be adapted and configured to issue instructionsto obtain a payment method selection from the customer, determine that amore preferable payment method is available, direct a payment steeringmessage to the customer, obtain an updated payment method selection fromthe customer, and obtain payment details associated with the updatedpayment method selection. The payment steering message can include aninformational message. The payment steering message can include anincentive for using the more preferable payment method. For example, theincentive can include one or more of (i) a discount offer, (ii) a cashback offer, (iii) a coupon, and (iv) loyalty points.

In accordance with still further aspects, the processor of the paymentcollection apparatus can be further adapted and configured to issueinstructions to determine that reward points are associated with thecustomer's payment method, and facilitate the use of the reward pointsto pay for at least a portion of the transaction. The processor can beadapted and configured to issue instructions to obtain promotionalmaterial appropriate for the customer engagement device. The processorcan be adapted and configured to issue instructions to provide thepromotional material to the customer.

In further accordance with the disclosure, a payment collectionprocessor-readable physical medium storing processor-issuableinstructions is provided, the instructions being adapted to receive by acustomer engagement device a payment token associated with a transactionfrom a point of sale system, retrieve transaction details associatedwith the transaction from a gateway, prompt a customer to providepayment information for the transaction, collect payment informationfrom the customer, provide the payment information to the gateway,obtain a transaction authorization from the gateway based on theprovided payment information, and inform the point of sale systemregarding the transaction authorization.

In some implementations, the retrieved transaction details can includeone or more of a customer identifier, an item identifier, an itemquantity, an item price, and a total amount due. The payment informationcan include one or more of a credit card number, a debit card number, amobile wallet account number, a coupon, a code, a rewards accountnumber, and a loyalty program account number. The payment informationmay be collected via one or more of a card reader, a scanner, acontactless chip reader, a keyboard, and a touchscreen.

In accordance with further implementations, the processor issuableinstructions for collecting payment information can further includeinstructions to determine available payment methods for the transaction,determine a preference order for the available payment methods, anddisplay the available payment methods in accordance with the preferenceorder. The available payment methods are preferably payment methodssupported by the customer engagement device. The instructions can beadapted to determine via processor available payment methods based oncharacteristics of the transaction. The characteristics of thetransaction can include at least one of item type, item price, itemquantity, and a total amount due. The preference order can be determinedvia processor based on transaction costs associated with the availablepayment methods. The instructions can be adapted to determine preferenceorder via processor based on branding associated with the availablepayment methods. The instructions can be adapted to determine preferenceorder via processor based on tracking or reporting capabilitiesassociated with the available payment methods. The instructions fordisplaying the available payment methods can include instructions forarranging the available payment methods from most preferable to leastpreferable. The instructions for displaying the available paymentmethods can include instructions for selecting the most preferablepayment method for the customer by default.

In accordance with further implementations, the payment collectionprocessor-readable physical medium can further include instructions forobtaining a payment method selection from the customer, instructions fordetermining that a more preferable payment method is available,instructions for providing a payment steering message to the customer,instructions for obtaining an updated payment method selection from thecustomer, and instructions for obtaining payment details associated withthe updated payment method selection.

In accordance with further implementations, the payment steering messagecan include an informational message. The payment steering message caninclude an incentive for using the more preferable payment method. Theincentive can be one or more of a discount offer, a cash back offer, acoupon, loyalty points. The processor-readable physical medium canfurther include instructions for determining that reward points areassociated with the customer's payment method, and instructions forfacilitating the use of the reward points to pay for at least a portionof the transaction. The payment collection processor-readable physicalmedium can further include instructions for obtaining promotionalmaterial appropriate for the customer engagement device and/orinstructions for providing the promotional material to the customer.

The disclosure further provides a processor-implemented paymentcollection method. The method includes receiving at a gateway via aprocessor transaction details associated with a transaction from a pointof sale system, storing via the processor the received transactiondetails, generating via the processor a payment token associated withthe stored transaction details, sending via the processor the paymenttoken to the point of sale system, obtaining via the processor atransaction details request including the payment token from a customerengagement device, providing via the processor the stored transactiondetails associated with the payment token to the customer engagementdevice, and authorizing via the processor payment information, providedby the customer engagement device for the transaction.

In some further aspects, the received transaction details can includeone or more of a customer identifier, an item identifier, an itemquantity, an item price, and a total amount due. The method can furtherinclude merging the received transaction details with stored historicaltransactions details via processor. In some embodiments, the point ofsale system can be aware of the gateway and the generated payment tokenis in a desired format. In some embodiments, the point of sale system isnot aware of the gateway and the generated payment token is in a formatthat simulates payment information expected by the point of sale systemfrom a payment collection peripheral device. The generated payment tokencan be, for example, a onetime use token, or a time expiring token. Thereceived transaction details request can include one or more of anidentifier of the customer engagement device, a location of the customerengagement device, a department identifier of the customer engagementdevice, and a merchant identifier of the customer engagement device.

If desired, the method can further include determining via processorpromotional material appropriate for the transaction, and providing thepromotional material to the customer engagement device. The promotionalmaterial can include one or more of a coupon, an advertisement, and adiscount offer. Determining promotional material appropriate for thetransaction can further include determining via processor a promotionalprofile for the customer engagement device, analyzing via processorpromotional material appropriate for the promotional profile withrespect to the transaction details, and selecting via processor the bestmatching promotional material as determined by the analysis. Thepromotional profile can be determined via processor based on locationdata associated with the customer engagement device and the storedhistorical transactions details. The best matching promotional materialcan be promotional material with a highest likely popularity score. Themethod can further include analyzing via processor the stored historicaltransactions details to determine an average sale price for an item. Themethod can further include analyzing via processor the stored historicaltransactions details to recommend an alternative item. Moreover, themethod can further include analyzing via processor the stored historicaltransactions details to recommend a complimentary item. If desired, themethod can further include analyzing via processor the stored historicaltransactions details to determine an effective advertising location fora manufacturer.

In accordance with yet further aspects, authorizing payment informationcan further include determining via processor that additional data isdesired, and obtaining via processor the additional data from thecustomer engagement device. The additional data can be one or more of asignature, a PIN, and a zip code. The authorizing payment informationcan further include determining via processor that an additional paymentmethod is desired, and obtaining via processor payment information forthe additional payment method from the customer engagement device.

The disclosure further provides a payment collection apparatus,including a memory, a processor in communication with the memory, andconfigured to issue a plurality of processing instructions stored in thememory, wherein the processor is adapted and configured to issueinstructions to receive at a gateway transaction details associated witha transaction from a point of sale system, store the receivedtransaction details, generate a payment token associated with the storedtransaction details, send the payment token to the point of sale system,obtain a transaction details request including the payment token from acustomer engagement device, provide the stored transaction detailsassociated with the payment token to the customer engagement device, andauthorize payment information, provided by the customer engagementdevice, for the transaction.

In accordance with further aspects, the received transaction details caninclude one or more of a customer identifier, an item identifier, anitem quantity, an item price, and a total amount due. The processor canbe further adapted and configured to issue instructions to merge thereceived transaction details with stored historical transactionsdetails. The point of sale system can be aware of the gateway and thegenerated payment token can be in a desired format. In someimplementations, the point of sale system can be unaware of the gatewayand the generated payment token can be in a format that simulatespayment information expected by the point of sale system from a paymentcollection peripheral device. The generated payment token can be, forexample, a onetime use token or a time expiring token. The receivedtransaction details request can include one or more of an identifier ofthe customer engagement device, a location of the customer engagementdevice, a department identifier of the customer engagement device and amerchant identifier of the customer engagement device.

In accordance with further aspects, the processor of the paymentcollection apparatus can be further adapted and configured to issueinstructions to determine promotional material appropriate for thetransaction, and provide the promotional material to the customerengagement device. The promotional material can include one or more of acoupon, an advertisement, and a discount offer. The processor can befurther adapted and configured to issue instructions for determiningpromotional material appropriate for the transaction, includinginstructions for determining a promotional profile for the customerengagement device, instructions for analyzing promotional materialappropriate for the promotional profile with respect to the transactiondetails, and instructions for selecting the best matching promotionalmaterial as determined by the analysis.

The promotional profile can be determined based on location dataassociated with the customer engagement device and the stored historicaltransactions details. The best matching promotional material can bepromotional material with the highest likely popularity score. Theprocessor can be further adapted and configured to issue instructions toanalyze the stored historical transactions details to determine anaverage sale price for an item. The processor can be further adapted andconfigured to issue instructions to analyze the stored historicaltransactions details to recommend an alternative item. The processor canbe further adapted and configured to issue instructions to analyze thestored historical transactions details to recommend a complimentaryitem. The processor can be further adapted and configured to issueinstructions to analyze the stored historical transactions details todetermine an effective advertising location for a manufacturer.

In accordance with additional aspects, the processor of the paymentcollection apparatus can be further adapted and configured to issueinstructions for authorizing payment information, including instructionsfor determining that additional data is desired, and instructions forobtaining the additional data from the customer engagement device. Theadditional data can be one of a signature, a PIN, and a zip code. Theprocessor can be further adapted and configured to issue instructionsfor authorizing payment information, including instructions fordetermining that an additional payment method is desired, andinstructions for obtaining payment information for the additionalpayment method from the customer engagement device.

The disclosure further provides a payment collection processor-readablephysical medium storing processor-issuable instructions to receive at agateway transaction details associated with a transaction from a pointof sale system, store the received transaction details, generate apayment token associated with the stored transaction details, send thepayment token to the point of sale system, obtain a transaction detailsrequest including the payment token from a customer engagement device,provide the stored transaction details associated with the payment tokento the customer engagement device, and authorize payment information,provided by the customer engagement device, for the transaction.

In accordance with some further aspects, the received transactiondetails can include at least one of a customer identifier, an itemidentifier, an item quantity, an item price, and a total amount due. Thepayment collection processor-readable physical medium can furtherinclude instructions for merging the received transaction details withstored historical transactions details. In some embodiments, the pointof sale system can be aware of the gateway and the generated paymenttoken is in a desired format. If desired, the point of sale system maynot be aware of the gateway and the generated payment token can be in aformat that simulates payment information expected by the point of salesystem from a payment collection peripheral device. For example, thegenerated payment token can be a onetime use token, or a time expiringtoken.

In accordance with further aspects the received transaction detailsrequest can include one or more of an identifier of the customerengagement device, a location of the customer engagement device, adepartment identifier of the customer engagement device, and a merchantidentifier of the customer engagement device.

The payment collection processor-readable physical medium can furtherinclude instructions for determining promotional material appropriatefor the transaction, and instructions for providing the promotionalmaterial to the customer engagement device. The promotional material caninclude one or more of a coupon, an advertisement and a discount offer.The instructions for determining promotional material appropriate forthe transaction can further include instructions for determining apromotional profile for the customer engagement device, instructions foranalyzing promotional material appropriate for the promotional profilewith respect to the transaction details, and instructions for selectingthe best matching promotional material as determined by the analysis.The promotional profile can be determined based on location dataassociated with the customer engagement device and the stored historicaltransactions details. The best matching promotional material can bepromotional material with the highest likely popularity score. Ifdesired, the payment collection processor-readable physical medium canfurther include instructions for analyzing the stored historicaltransactions details to determine an average sale price for an item,instructions for analyzing the stored historical transactions details torecommend an alternative item, instructions for analyzing the storedhistorical transactions details to recommend a complimentary item,and/or instructions for analyzing the stored historical transactionsdetails to determine an effective advertising location for amanufacturer.

In some embodiments, the instructions for authorizing paymentinformation can further include instructions for determining thatadditional data is desired, and instructions for obtaining theadditional data from the customer engagement device. The additional datacan include one or more of a signature, a PIN (Personal IdentificationNumber), and a zip code. If desired, the instructions for authorizingpayment information can further include instructions for determiningthat an additional payment method is desired, and instructions forobtaining payment information for the additional payment method from thecustomer engagement device.

The disclosure further provides a processor-implemented app(“application” or program) support adding method, including receivingvia a processor a request to add an app to a customer engagement deviceat a scheduled update time, adding via the processor the app to a listof scheduled downloads, informing via the processor the customerengagement device regarding a scheduled download of the app via aperiodic heartbeat message, and facilitating via the processordownloading of the app by the customer engagement device at thescheduled update time. If desired, the scheduled update time can bespecified, for example, by a merchant associated with the customerengagement device. For each scheduled download, the list of scheduleddownloads can include data that in turn includes at least one of appparameters, download settings, the scheduled update time. The app canthus facilitate acceptance of a new payment method by the customerengagement device. The app can facilitate the use of a new feature bythe customer engagement device.

The disclosure further provides an app support adding apparatus,including a memory, a processor in communication with the memory, theprocessor being adapted and configured to issue a plurality ofprocessing instructions stored in the memory, wherein the instructionsinclude instructions for receiving a request to add an app to a customerengagement device at a scheduled update time, instructions for addingthe app to a list of scheduled downloads, instructions for informing thecustomer engagement device regarding a scheduled download of the app viaa periodic heartbeat message, and instructions for facilitatingdownloading of the app by the customer engagement device at thescheduled update time.

In further implementations, the scheduled update time can be specifiedby, for example, a merchant associated with the customer engagementdevice. For each scheduled download, or one or more of the scheduleddownloads, the list of scheduled downloads can include data including atleast one of app parameters, download settings, and the scheduled updatetime. The app can facilitate acceptance of a new payment method by thecustomer engagement device. The app can facilitate the use of a newfeature by the customer engagement device.

The disclosure further provides an app support adding processor-readablephysical medium storing processor-issuable instructions to receive arequest to add an app to a customer engagement device at a scheduledupdate time, add the app to a list of scheduled downloads, inform thecustomer engagement device regarding a scheduled download of the app viaa periodic heartbeat message, and facilitate downloading of the app bythe customer engagement device at the scheduled update time.

In accordance with some embodiments, the scheduled update time can bespecified by a merchant associated with the customer engagement device.For each scheduled download the list of scheduled downloads can includedata including at least one of app parameters, download settings, andthe scheduled update time. The app can facilitate acceptance of a newpayment method by the customer engagement device, and/or the use of anew feature by the customer engagement device.

It is to be understood that the foregoing general description and thefollowing detailed description are exemplary and are intended to providefurther explanation of the disclosed embodiments. The accompanyingdrawings, which are incorporated in and constitute part of thisspecification, are included to illustrate and provide a furtherunderstanding of the disclosed methods and systems. Together with thedescription, the drawings serve to explain principles of the disclosure.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying figures and/or appendices illustrate various exemplaryembodiments in accordance with the present disclosure.

FIG. 1 shows an exemplary usage scenario in one embodiment of the PPCEP.

FIG. 2 shows a transaction handling data flow diagram in one embodimentof the PPCEP.

FIG. 3 shows a logic flow diagram illustrating a gateway transactionprocessing (GTP) component in one embodiment of the PPCEP.

FIG. 4 shows a logic flow diagram illustrating a CED transactionprocessing (CTP) component in one embodiment of the PPCEP.

FIG. 5 shows a logic flow diagram illustrating a promotional materialhandling (PMH) component in one embodiment of the PPCEP.

FIG. 6 shows a logic flow diagram illustrating a payment selectionhandling (PSH) component in one embodiment of the PPCEP.

FIG. 7 shows an exemplary customer engagement device (CED) in oneembodiment of the PPCEP.

FIG. 8 shows a screen shot diagram illustrating an exemplary app storein one embodiment of the PPCEP.

FIG. 9 shows an app support adding and installing data flow diagram inone embodiment of the PPCEP.

FIG. 10 shows a logic flow diagram illustrating an app support adding(ASA) component in one embodiment of the PPCEP.

FIG. 11 shows a logic flow diagram illustrating an app supportinstalling (ASI) component in one embodiment of the PPCEP.

FIG. 12 shows a block diagram illustrating an exemplary PPCEPcoordinator in one embodiment of the PPCEP.

DETAILED DESCRIPTION Introduction

The PPCEP facilitates payment collection by a merchant while avoidinghaving to have the merchant's POS systems handle payment information.This may result in improved security as the POS system, the merchant'sservers, and the merchant's cashiers do not have access to a customer'spayment information. Furthermore, by using the PPCEP the merchant gainsthe ability to accept new payment methods (e.g., mobile wallets, loyaltyand/or rewards programs, digital currencies) without having to makechanges to the POS system. Once a merchant integrates its operationswith the PPCEP, software updates, additional payment methods and valueadded programs may be added remotely (e.g., via a cloud architecture)without having to change hardware, make onsite visits, disruptoperations, and/or the like. Furthermore, by not having access topayment information POS system makers may have less risk of being hackedand may avoid having to go through expensive audits associated withmaking systems that have access to payment information. Additionally,the PPCEP may facilitate delivery of promotional information tocustomers. Using information regarding the current transaction,regarding previous purchases made by a customer, regarding locationand/or time, and/or the like the PPCEP may determine relevantpromotional material that may be presented to the customer. Suchpromotional material may include advertisements, offers, coupons, and/orthe like.

Detailed Description of the PPCEP

FIG. 1 shows an exemplary usage scenario in one embodiment of the PPCEP.In FIG. 1, a customer 102 may wish to purchase a scarf. Instead ofproviding a merchant 104 with payment information (e.g., handing acashier a credit card), the customer may input payment information(e.g., swipe a credit card) via a CED 108. Avoiding having themerchant's cashier handle payment information may improve security, asthe risk of the cashier misusing the payment information (e.g.,recording payment information and selling it to identity thieves) iseliminated.

The customer may wish to use a preferred payment method (e.g., aDiscover credit card). The PPCEP facilitates adding support for newpayment methods without having to make changes to the merchant's POSsystem 106. This allows merchants to add support for new payment methodsquickly as the software of the POS system does not have to be modifiedto add support for a new payment method. Consequently, the merchant maybe encouraged to support more payment methods and may add support fornew payment methods quicker, resulting in higher customer satisfaction.Furthermore, the PPCEP may steer the customer to using a payment methodpreferred by the merchant. For example, the PPCEP may order paymentmethods in a specified way and/or reward the customer for using aspecified payment method. This may allow the merchant to reduce costs(e.g., by having the customer utilize a payment method with a lowertransaction cost), improve customer satisfaction (e.g., by allowing thecustomer to pay with reward points instead of by charging to a creditcard), increase customer loyalty (e.g., by providing the customer with acoupon for choosing a specified payment method), and/or the like.

Once the customer provides payment information via the CED the PPCEP maysecurely authorize the payment. Instead of having the merchant's POSsystem handle the payment information, the payment information may behandled by the PPCEP via a secure infrastructure. Avoiding having themerchant's POS system handle payment information may improve security,as the risk of the POS system being hacked and the payment informationbeing stolen is eliminated.

Additionally, the PPCEP may facilitate delivery of promotionalinformation to customers. For example, information regarding the currenttransaction (e.g., the customer purchased a scarf) and regarding themerchant (e.g., the merchant sells a matching hat) may be utilized toinform the customer regarding another item (e.g., the matching hat) thatthe customer may wish to purchase. This may result in improved customersatisfaction (e.g., the customer may be looking to buy a matching hat,but may not be aware that the merchant sells it), increased sales (e.g.,customers may purchase more items from the merchant), enhancedcommunication with the customer (e.g., the customer may be showninformational messages and/or advertisements), and/or the like.

FIG. 2 shows a transaction handling data flow diagram in one embodimentof the PPCEP. FIG. 2 provides an example of how data may flow to,through, and/or from the PPCEP during transaction (e.g., purchasetransaction) handling. In FIG. 2, a merchant 202 may input transactioninformation 221 via a POS system 204. The merchant may use a peripheraldevice (e.g., a keyboard, a mouse, a touchscreen, a barcode scanner) ofthe merchant's POS system to input the transaction information. Forexample, the transaction information may include data such as a customeridentifier (e.g., based on a merchant's loyalty card number, based on acustomer's phone number), stock keeping unit (SKU) level data (e.g., anitem's SKU number, an item's Universal Product Code (UPC) number)regarding items (e.g., including goods and/or services) being purchasedby a customer, item quantities, item prices, total purchase amount,and/or the like.

The POS system may send a payment collection request 225 to a PPCEPgateway 206. For example, the payment collection request may includedata such as authentication credentials, a transaction identifier, amerchant identifier, location (e.g., geographic location, locationwithin a store), a department identifier, a customer identifier, SKUlevel data regarding items being purchased by a customer, itemquantities, item prices, total purchase amount, transaction date,transaction time, and/or the like. In one implementation, the paymentcollection request may be in XML format substantially in the followingform:

  <XML>  <PaymentCollectionRequest>  <AuthenticationCredentials>Credentials   </AuthenticationCredentials>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>   <POS _ID>ID_POS</POS_ID>   <ClerkID>ID_Clerk</ClerkID>   <Order>   <OrderID>ID_Order</OrderID>    <TotalAmount>$60</TotalAmount>   <Item>     <Item ID>ID_Item</ItemID>     <Item Name>Scarf</ItemName>    <ItemQuantity>2</ItemQuantity>     <Item Price>$30</ItemPrice>   </Item>   </Order>  </PaymentCollectionRequest> </XML>In one embodiment, the POS system may be aware of the PPCEP, and thepayment collection request may be directed to the gateway. In anotherembodiment, the POS system may be a legacy system that is not aware ofthe PPCEP, and the payment collection request may be directed to apayment collection peripheral device (e.g., a magnetic card reader) toobtain payment information. In one implementation, the gateway mayemulate the payment collection peripheral device. In anotherimplementation, a CED 208 may emulate the payment collection peripheraland may act as an intermediary that facilitates communication betweenthe POS and the gateway.

The gateway may send a payment token 229 to the POS system. In theembodiment in which the POS system is aware of the PPCEP, the paymenttoken may be in any desired format (e.g., an alphanumeric identifier).In the embodiment in which the POS system is not aware of the PPCEP, thepayment token may be in a format that simulates payment informationexpected by the POS system from the payment collection peripheral device(e.g., a sixteen-digit credit card number). In some implementations, thepayment token may be a onetime use and/or a time expiring token. Forexample, the payment token may be used in conjunction with the CED'sidentifier to authenticate the CED with the gateway and validate thatthe CED is assigned to the merchant that obtained the payment token.This may help improve security by keeping the authentication credentialsout of the CED and the rest of the transaction flow.

The POS system may send the payment token 233 to the CED. In theembodiment in which the POS system is aware of the PPCEP, the paymenttoken may be directed to the CED. In the embodiment in which the POSsystem is not aware of the PPCEP, the payment token may be included in amessage directed to a payment processor to authorize a transaction. Inthis embodiment, the CED may emulate the payment processor and extractthe payment token from the message (e.g., from the credit card numberfield of the message).

The CED may send a transaction details request 237 to the gateway. Thetransaction details request may prompt the gateway to provide the CEDwith details regarding the transaction, with promotional material (e.g.,advertisements, coupons, identifiers of advertisements and/or coupons topresent to a customer), and/or the like. For example, the transactiondetails request may include data such as a CED identifier, a paymenttoken, a CED location (e.g., geographic location, location within astore), a department identifier, transaction date, transaction time,and/or the like. In one implementation, the transaction details requestmay be in XML format substantially in the following form:

  <XML>  <TransactionDetailsRequest>   <CED_ID>ID_CED</CED _ID>  <PaymentToken>M1_POS2_2013JAN01_12345</PaymentToken> </TransactionDetailsRequest> </XML>

The gateway may send a transaction details response 241 to the CED. Thetransaction details response may include data regarding the transaction(e.g., a transaction identifier, a customer identifier, SKU level dataregarding items being purchased by a customer, item quantities, itemprices, total purchase amount), promotional material (e.g.,advertisements, coupons, identifiers of advertisements and/or coupons topresent to a customer), and/or the like. In one implementation, thetransaction details response may be in XML format substantially in thefollowing form:

  <XML>  <TransactionDetailsResponse>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>   <POS _ID>ID_POS</POS_ID>   <ClerkID>ID_Clerk</ClerkID>   <Order>   <OrderID>ID_Order</OrderID>    <TotalAmount>$60</TotalAmount>   <Item>     <Item ID>ID_Item</ItemID>     <Item Name>Scarf</Item Name>    <ItemQuantity>2</ItemQuantity>     <Item Price>$30</ItemPrice>   </Item>   </Order>   <PromotionalMaterial>   <Coupon>ID_Coupon</Coupon>   </PromotionalMaterial> </TransactionDetailsResponse> </XML>

The CED may provide a payment request output 245 to a customer 210. Inone embodiment, the payment request output may include promotionalmaterial. In various implementations, the promotional material may be invideo, image, textual, audio, digital code, physical and/or the likeformat. For example, the promotional material may be a videoadvertisement. In another example, the promotional material may be adiscount offer or a coupon (e.g., in the form of a digital QR code, inthe form of a printed out coupon). In another embodiment, the paymentrequest output may prompt the customer to provide payment information.

The customer may provide a payment response input 249 via the CED. Forexample, the customer may select a payment method (e.g., using atouchscreen of the CED) and/or provide payment details (e.g., swipe acredit card, use a mobile wallet via a smartphone with NFC support). Thecustomer may also use the CED to provide additional information (e.g., asignature, a PIN, a password, a zip code).

The CED may send payment details 253 to the gateway. The payment detailsmay include data provided by the customer (e.g., a credit card number).The payment details may also include additional information (e.g., asignature, a PIN, a password, a zip code) requested by the gateway. Inone implementation, the payment details may be in XML formatsubstantially in the following form:

  <XML>  <PaymentDetails>   <CED_ID>ID_CED</CED_ID>  <PaymentToken>M1_POS2_2013JAN01_12345</PaymentToken>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>   <Payment>   <PaymentType>Card</PaymentType>    <CardNumber>Cardnumber</CardNumber>   </Payment>  </PaymentDetails> </XML>

The gateway may send an authorization request 257 to a payment processor212. The payment processor may be an entity that authorizes payment(e.g., based on correctness of provided information and/or fraud riskassessment). For example, the payment processor may be First DataResources (FDR), Guardian Payment Systems (GPS), Smart TechnologySolutions (STS), LevelUp, PayPal, and/or the like. In oneimplementation, the authorization request may be in XML formatsubstantially in the following form:

  <XML>  <AuthorizationRequest>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>  <TotalAmount>$60</TotalAmount>   <MerchantDetails>Clothing store,  the store′s zip code</MerchantDetails>   <Payment>   <PaymentType>Card</PaymentType>    <CardNumber>Cardnumber</CardNumber>   </Payment>  </AuthorizationRequest> </XML>

The payment processor may send an authorization response 261 to thegateway. The authorization response may include an indicator of whethera payment was authorized (e.g., authorized, denied), a request foradditional information (e.g., a signature, a PIN, a password, a zipcode), and/or the like. In one implementation, the authorizationresponse may be in XML format substantially in the following form:

  <XML>  <AuthorizationResponse>  <TransactionID>ID_Transaction</TransactionID>  <TransactionStatus>Authorized</TransactionStatus>   <Payment>   <PaymentType>Card</PaymentType>    <CardType>Discover</CardType>   <IsCredit>Yes</IsCredit>    <IsDebit>Yes</IsDebit>   <IsCorporate>No</IsCorporate>    <RewardPoints>    <RewardPointsAvailable>Yes</RewardPointsAvailable>    <RewardPointsAmount>$20</RewardPointsAmount>    </RewardPoints>  </Payment>  </AuthorizationResponse> </XML>

The gateway may send a transaction result 265 to the CED. Thetransaction result may include an indicator of whether the payment wasauthorized (e.g., authorized, denied), a request for additionalinformation (e.g., a signature, a PIN, a password, a zip code), arequest for an additional payment method (e.g., in case the payment wasdenied and/or total purchase amount not paid in full), additionalpromotional material, and/or the like. In one implementation, thetransaction result may be in XML format substantially in the followingform:

  <XML>  <TransactionResult>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>  <TransactionStatus>Authorized</TransactionStatus>  <PromotionalMaterial>   <Advertisement>ID_Advertisement</Advertisement>  </PromotionalMaterial>  </TransactionResult> </XML>

The CED may provide a transaction result output 269 to the customer. Inone embodiment, the transaction result output may include promotionalmaterial. In various implementations, the promotional material may be invideo, image, textual, audio, digital code, physical and/or the likeformat. For example, the promotional material may be a coupon that thecustomer may use the next time the customer shops with the merchant. Inanother embodiment, the transaction result output may include anindicator (e.g., via a display of the CED) of whether the transactionhas been successfully completed (e.g., transaction approved, transactionfailed), a receipt, and/or the like.

The CED may provide a transaction result 273 to the POS system. Thetransaction result may include an indicator of whether the payment wasauthorized (e.g., authorized, denied). In one implementation, thetransaction result may be in XML format substantially in the followingform:

  <XML>  <TransactionResult>  <TransactionID>ID_Transaction</TransactionID>  <TransactionType>Purchase</TransactionType>  <TransactionStatus>Authorized</TransactionStatus> </TransactionResult> </XML>

The POS system may provide a transaction result output 277 to themerchant. For example, the transaction result output may include anindicator (e.g., via a display of the POS system) of whether thetransaction has been successfully completed (e.g., transaction approved,transaction failed), a receipt, and/or the like.

FIG. 3 shows a logic flow diagram illustrating a gateway transactionprocessing (GTP) component in one embodiment of the PPCEP. For example,the GTP component may be used to facilitate transaction processing by agateway. In FIG. 3, a payment collection request may be received at 301.For example, the payment collection request may be received from amerchant's POS system via a network device and may include transactiondata.

The transaction data may be parsed from the payment collection request(e.g., via an XML parser) and may be stored by the PPCEP (e.g., in thetransactions data store 1230 c) at 305. The transaction data may includeinformation such as a customer identifier, SKU level data regardingitems being purchased by a customer, item quantities, item prices, totalpurchase amount, and/or the like. In some embodiments, the transactiondata may be merged with historical data (e.g., data regarding previouspurchases made by the customer associated with the transaction). In someimplementations, such merging may occur (e.g., via one or more SQLqueries) after a payment method is obtained (e.g., to merge thetransaction data with historical data regarding previous purchases madeusing the payment method).

A payment token associated with the stored transaction data may begenerated at 310. In one embodiment, the merchant's POS system may beaware of the PPCEP, and the payment token may be in any desired format.For example, the payment token may comprise a merchant identifier (e.g.,M1), a POS system identifier (e.g., POS2), a transaction date (e.g.,2013JAN01), and a counter that increases with each transaction andresets each day (e.g., 12345). In this example a payment token may beM1_POS2_(—)2013JAN01_(—)12345. In another embodiment, the merchant's POSsystem may be a legacy system that is not aware of the PPCEP, and thepayment token may be in a format that simulates payment informationexpected by the POS system from a payment collection peripheral device.For example, the payment token may be a sixteen-digit number (e.g., tosimulate a credit card number) that is a counter that increases witheach transaction and resets each day. In this example a payment tokenmay be 0000 0000 0001 2345. The payment token may be sent to the POSsystem at 315.

A transaction details request may be received from a CED at 320. Thetransaction details request may include the payment token to allow thegateway to access the associated transaction data. The transactiondetails request may also include data such as a CED location (e.g.,geographic location, location within a store), a department identifier,a date, a time, and/or the like. In one embodiment, these data, theassociated transaction data, historical data associated with thecustomer and/or the payment method, and/or the like may be used by thePPCEP to determine promotional material (e.g., stored in the promotionsdata store 1230 d) for the CED at 325. For example, if the associatedtransaction data indicates that the customer is purchasing two sweaters,the PPCEP may determine that the customer should be offered a 30% offcoupon for a third sweater to encourage the customer to purchase anadditional item. In another example, if historical data indicates thatthe customer tends to purchase coffee at the time of the transaction andthe location of the CED indicates that the customer is near a coffeemachine, the PPCEP may determine that the customer should be informedthat a coffee machine is nearby. See FIG. 5 for additional detailsregarding determining promotional material for the CED. In anotherembodiment, these data, the associated transaction data, historical dataassociated with the customer and/or the payment method, and/or the likemay be used by the PPCEP to make analytical deductions and/orsuggestions. For example, the PPCEP may calculate an average price foran item based on geographic location, Standard Industrial Classification(SIC) code, business type (e.g., retail, mail order, telephone order),and/or the like. This may be used to show customers a map with nearbybusinesses that sell a particular (e.g., customer-specified) item anddisplay the average and/or latest sale price and/or show whether theitem is in stock. In another example, the PPCEP may utilize analyticaldata to help merchants improve sales (e.g., by suggesting similar itemsthat are more cost effective and/or popular with customers than itemscurrently sold by the merchant, suggesting complimentary items to itemscurrently sold by the merchant). In yet another example, the PPCEP mayutilize analytical data to help manufacturers improve sales (e.g.,manufacturers may advertise via the PPCEP in stores where suchadvertising may be effective based on items currently sold by themerchant).

The promotional material may be sent to the CED at 330. In oneembodiment, the content (e.g., video files, image files, text files,audio files) associated with the promotional material may be sent and/orstreamed to the CED. In another embodiment, the content may be locatedat the CED and an identifier of the promotional material to be providedto the customer may be sent. The gateway may send transaction details tothe CED at 335. The transaction details may include the associatedtransaction data (e.g., a transaction identifier, a customer identifier,SKU level data regarding items being purchased by a customer, itemquantities, item prices, total purchase amount) stored by the PPCEP.

Payment details may be received from the CED at 340. The payment detailsmay include data regarding the payment method utilized by the customer(e.g., a debit card number). The gateway may authorize payment at 345.For example, the gateway may contact a payment processor and requestthat the payment processor authorize the payment. In another example,the gateway may be capable of authorizing the payment on its own.

A determination may be made at 350 whether additional data is desired.For example, if the payment method is a credit card, the customer'ssignature may be desired. In another example, if the payment method is adebit card, a PIN may be desired. If it is determined that additionaldata is desired, such additional data may be obtained at 355. Forexample, the gateway may contact the CED and request that the CEDprovide such additional data (e.g., by prompting the customer to providesuch additional data). In some implementations, payment may beauthorized upon receiving such additional data.

A determination may be made at 360 whether the total purchase amountassociated with the transaction has been paid in full. For example, ifthe customer is using a credit card, the customer may pay the totalpurchase amount with the credit card. In another example, if thecustomer is using a gift card, the customer may pay the amount availableon the gift card and may have an outstanding balance remaining. If it isdetermined that the total purchase amount has not been paid in full, arequest for an additional payment method may be made to the CED at 365,and another payment method may be processed. If it is determined thatthe total purchase amount has been paid in full, a transaction resultmay be sent to the CED at 370. For example, the transaction result mayinclude a confirmation that the payment was authorized, additionalpromotional material, and/or the like.

FIG. 4 shows a logic flow diagram illustrating a CED transactionprocessing (CTP) component in one embodiment of the PPCEP. For example,the CTP component may be used to facilitate transaction processing by aCED. In FIG. 4, a payment token may be obtained from a merchant's POSsystem via a network device at 405. The payment token may identify atransaction for which payment is to be obtained (e.g., from a customer).

The CED may send a transaction details request to a gateway at 410. Thetransaction details request may prompt the gateway to provide the CEDwith details regarding the transaction, with promotional material,and/or the like, and may include data such as the payment token, theCED's location (e.g., geographic location, location within a store), anidentifier of the department in which the CED is located, transactiondate, transaction time, and/or the like.

At 415, the CED may receive promotional material from the gateway. Inone embodiment, the content (e.g., video files, image files, text files,audio files) associated with the promotional material may be receivedand/or streamed by the CED. In another embodiment, the content may belocated at the CED and an identifier of the promotional material to beprovided to the customer may be received. The CED may provide thepromotional material to the customer at 420. For example, the CED mayplay back a video advertisement via its screen and/or speaker. Inanother example, the CED may display an offer that the customer mayutilize (e.g., by purchasing additional and/or different items, byproviding contact information such as an email address and/or a phonenumber in exchange for a $5 discount). In yet another example, the CEDmay display and/or print out a coupon that the customer may use (e.g.,by taking an image of the coupon via a mobile device and showing theimage to a merchant on the mobile device's screen, by scanning a QuickResponse (QR) code that directs the customer's mobile device to a URLthat adds a coupon to the customer's mobile wallet, by presenting amerchant with a physical coupon).

The CED may receive transaction details from the gateway at 425. Thetransaction details may include transaction data (e.g., a transactionidentifier, a customer identifier, SKU level data regarding items beingpurchased by a customer, item quantities, item prices, total purchaseamount) associated with the payment token.

At 430, the CED may prompt the customer to provide payment for the totalpurchase amount (e.g., shown on the CED screen) and may obtain paymentdetails from the customer. In various embodiments, the customer mayprovide payment details via a payment tool by swiping (e.g., a creditcard, a debit card), waving (e.g., an NFC contactless card), tapping(e.g., a mobile device with a digital wallet), scanning (e.g., a QRcode), and/or the like. See FIG. 6 for additional details regardingobtaining payment details from the customer.

The CED may send the payment details to the gateway at 435. The paymentdetails may include data regarding the payment method utilized by thecustomer (e.g., a gift card number). A determination may be made at 440whether additional data is requested by the gateway. For example, if thepayment method is a digital wallet, the customer's zip code may bedesired. If it is determined that additional data is requested, suchadditional data may be obtained from the customer at 445. For example,the customer may be informed what additional data is requested and maybe prompted to input such additional data (e.g., via a keyboard of theCED). The additional data may be sent to the gateway at 450.

A determination may be made at 455 whether an additional payment methodis requested by the gateway. For example, if the provided payment methodwas not authorized, the customer may be requested to provide anotherpayment method. In another example, if the provided payment method(e.g., a coupon) paid for a portion of the total purchase amount thecustomer may be requested to provide another payment method to pay forthe remaining balance. If it is determined that an additional paymentmethod is requested, payment details for the additional payment methodmay be obtained at 460. For example, the CED may display the remainingbalance and prompt the customer to provide payment details in a similarmanner as discussed with regard to 430.

If an additional payment method is not requested, a transaction resultmay be received from the gateway at 465. For example, the transactionresult may include confirmation that the payment was authorized,additional promotional material, and/or the like. The confirmationand/or the additional promotional material may be provided to thecustomer. A transaction result may be sent to the merchant's POS systemat 470.

FIG. 5 shows a logic flow diagram illustrating a promotional materialhandling (PMH) component in one embodiment of the PPCEP. For example,the PMH component may be used to select promotional material to providevia a CED. In FIG. 5, CED location data may be obtained at 501. Forexample, the CED location data may include a merchant categoryidentifier (e.g., a merchant selling clothing, a merchant selling food),a location within a store (e.g., a department in which the CED islocated), demographic data associated with the geographic location ofthe CED, and/or the like. CED transactions data may be obtained at 505.For example, the CED transaction data may include historicaltransactions that were handled by the CED, by other CEDs in thedepartment, by other CEDs in the store, and/or the like.

A promotional profile for the CED may be determined at 510. In oneembodiment, the CED location data and the CED transactions data may beanalyzed to make this determination. For example, the promotionalprofile may comprise promotional material appropriate for the CEDdetermined based on analysis of these data (e.g., based on a score for apromotional material exceeding a specified threshold). In oneimplementation, appropriate promotional material may be determined basedon likely popularity of the promotion at the CED. For example,promotional material regarding hats may be appropriate for a CED in ascarves department of a clothing store, especially if historicaltransactions data indicates that customers tend to purchase hats andscarves together. In another implementation, appropriate promotionalmaterial may be determined based on advertisers' specifications. Forexample, if a credit card provider (e.g., Discover) wishes to advertiseDiscover credit cards in food stores, Discover's promotional materialmay be appropriate for a CED located in a food store.

A determination may be made at 515 whether a transaction is in progressat the CED. For example, if a transaction is not in progress, the CEDmay display non-transaction specific promotional material (e.g., anadvertisement for a Discover credit card). In another example, if atransaction is in progress, the CED may display transaction-specificpromotional material (e.g., a coupon for 10% off a matching hat).

If a transaction is not in progress at the CED, promotional material forthe CED may be selected based on the promotional profile for the CED at520. For example, a random advertisement may be selected from theappropriate promotional material. In another example, the CED may cyclethrough the appropriate promotional material.

If a transaction is in progress at the CED, transaction data may beanalyzed at 525 to determine appropriate promotional material that isrelevant to the transaction (e.g., based on the SKU level data regardingitems being purchased by a customer, item quantities, item prices, totalpurchase amount). If it is determined at 530 that promotional materialshould not be selected based on the transaction data (e.g., promotionalmaterial related to items being purchased is not available), promotionalmaterial for the CED may be selected based on the promotional profilefor the CED at 520. If it is determined at 530 that promotional materialshould be selected based on the transaction data, promotional materialfor the CED may be selected based on the transaction data at 535. Forexample, promotional material (e.g., a coupon) associated with one ofthe items being purchased by a customer may be selected. In anotherexample, promotional material (e.g., a promotional video) regarding anitem related to one of the items being purchased by a customer may beselected. Factors such as a customer's purchase history, a customer'spromotional material redemption history, payment method utilized by acustomer, and/or the like may also affect which promotional material isselected. For example, if a customer is more likely (e.g., based onhistorical data) to redeem a “buy 3 items get 1 free” offer than a “25%off all items” offer, the “buy 3 items get 1 free” offer may beselected.

FIG. 6 shows a logic flow diagram illustrating a payment selectionhandling (PSH) component in one embodiment of the PPCEP. For example,the PSH component may be used to obtain payment details from a customer.In FIG. 6, a payment details collection request may be received at 601by a merchant's CED. For example, the payment details collection requestmay be sent by the PPCEP to facilitate collection of payment detailsfrom a customer during a purchase transaction. In one implementation,the payment details collection request may be a function call (e.g., aC++ function call).

Available payment methods may be determined at 605. For example, theavailable payment methods may be payment methods supported by the CED.In one embodiment, a payment method whose connection is slow or down maynot be considered an available payment method. In another embodiment,different payment methods may be available depending on transactioncharacteristics. For example, credit cards may not be available fortransactions with purchase amounts that are below a threshold (e.g.,$10). In another example, reward points may be available when purchasingsome items (e.g., regularly priced items), but not other items (e.g.,items on sale).

A payment methods ordering may be determined at 610. The payment methodordering may indicate the merchant's preference for available paymentmethods that may be used to pay for the purchase transaction. Forexample, the payment methods ordering may be determined based on datastored in the payment methods data store 1230 e. In one embodiment, thepayment method ordering may be determined based on the cost of using theavailable payment methods. For example, if a first payment method haslower transaction costs to the merchant than a second payment method,the first payment method may be more preferable. In another embodiment,the payment method ordering may be determined based on branding. Forexample, the merchant may prefer merchant-branded payment methods (e.g.,merchant branded credit cards, debit cards, and/or the like) over otherpayment methods. In yet another embodiment, the payment method orderingmay be determined based on tracking and/or reporting capabilitiesassociated with the available payment methods. For example, if a firstpayment method provides better tracking and/or reporting capabilities(e.g., SKU-level tracking and/or reporting) than a second payment method(e.g., transaction-level tracking and/or reporting), the first paymentmethod may be more preferable.

At 615, the PPCEP may provide the customer with a payment method choice.For example, the customer may select which of the provided paymentmethods the customer wishes to use to pay for the purchase transaction.In one embodiment, the CED may display the provided payment methods inaccordance with the payment method ordering. For example, morepreferable payment methods may be shown first (e.g., listed on top,listed at the top left corner). In another example, more preferablepayment methods may be shown in a more visually appealing manner (e.g.,highlighted, embellished). In another embodiment, the CED may select themost preferable payment method for the user. For example, the mostpreferable payment method may be shown as default and/or selected bydefault. In another example, the CED may request payment details for themost preferable payment method, but may allow the customer to select adifferent payment method if the customer wishes to do so.

A payment method selection may be obtained from the customer at 620. Forexample, the customer may utilize the CED to select (e.g., via the CED'stouchscreen) one of the provided payment methods. A determination may bemade at 625 whether a payment method that is more preferable than theselected payment method is available. If a more preferable paymentmethod is available, a payment method steering message may be provided(e.g., displayed) to the customer at 630. In one embodiment, the PPCEPmay provide an informational message. For example, the customer may beinformed regarding the benefits of using a more preferable paymentmethod. In another embodiment, the PPCEP may provide incentives forusing a more preferable payment method. In one implementation, suchincentives may include discount offers, cash back offers, coupons,loyalty points, and/or the like. For example, the customer may berewarded with cash back (e.g., 1% cash back) for using an AutomatedClearing House (ACH) payment. In this example, transaction costsassociated with the ACH payment may have a lower cost than transactioncosts associated with a credit card payment, which allows rewarding theuser for using the ACH payment while still saving money for themerchant. The customer's updated payment method selection may beobtained at 635. For example, the customer may select a more preferablepayment method. In another example, the customer may continue using theoriginally selected payment method.

A determination may be made at 640 whether the selected payment methodis a virtual wallet. A virtual wallet may include a plurality of paymentmethods. If the selected payment method is a virtual wallet, paymentmethods associated with the virtual wallet may be determined at 645. Forexample, an API of the virtual wallet provider may be utilized to makethis determination. The associated payment methods may be ordered andone of them selected in a similar manner as discussed with regard to 610through 635.

Payment details associated with the selected payment method may beobtained at 650. For example, the customer may be prompted via the CEDto swipe a credit card. A determination may be made at 655 whether thecustomer has reward points associated with the selected payment method(e.g., a credit card). If the customer has reward points, the PPCEP mayfacilitate the use of reward points instead of or in addition to usingthe payment method (e.g., by allowing the customer to allocate thenumber of reward points that should be used). For example, if thecustomer has $20 in reward points for a selected credit card, the PPCEPmay allow the customer to pay for a $30 scarf by using $20 in rewardpoints and by charging $10 to the selected credit card.

FIG. 7 shows an exemplary customer engagement device (CED) in oneembodiment of the PPCEP. In FIG. 7, the CED 701 may be utilized tocollect payment via the supported payment methods. In some embodiments,payment methods supported by the CED may be added on the back endwithout having to make changes to the CED at a merchant's location. SeeFIGS. 8, 9, 10 and 11 for additional details regarding adding supportfor payment methods and/or adding features to the CED.

The CED may employ a payment method selection screen 705 (e.g.,displayed via a touchscreen) to facilitate user (e.g., customer, payer)selection of a payment method. The payment method selection screen maydisplay one or more supported payment methods, such as a Bank of Americaaccount 710. A payment method may also have an associated check mark715. In one embodiment, the check mark may indicate whether the paymentmethod may be used for the current transaction (e.g., reward points maybe used to purchase some items, but not to purchase other items). Inanother embodiment, the check mark may indicate whether using thepayment method would result in reward points being awarded (e.g.,credited to a customer's loyalty account) for a purchase. In yet anotherembodiment, the check mark may indicate which payment methods have beenselected by a customer to be utilized during the current transaction(e.g., the customer may wish to use multiple payment methods to pay fora purchase).

Upon selecting one or more payment methods, a user may use a “Submit”button 720 (e.g., by tapping on the button) to submit the payment methodselection. A payment details acquisition device 725 may be utilized toobtain payment details from the user. In various implementations, thepayment details acquisition device may be a card reader, a scanner, acontactless chip reader, and/or the like. A keyboard 730 may be utilizedby the user to provide additional details (e.g., a PIN, a password, azip code).

FIG. 8 shows a screen shot diagram illustrating an exemplary app storein one embodiment of the PPCEP. In FIG. 8, an app store 801 may beutilized by a user (e.g., a merchant, a PPCEP administrator) to addsupport for one or more payment methods to a CED. In variousembodiments, payment methods supported by the PPCEP may include cash,checks, mWallets, mCoupons, gift cards, debit cards, credit cards, QRcodes, Electronic Benefit Transfer (EBT) cards, NFC cards, EMV cards,paper coupons, reward points, loyalty program discounts, promotionaldiscounts, and/or the like.

For example, the user may use the app store to add support for a paymentmethod to CEDs in a merchant's store. In one implementation, the usermay add support for a payment method, such as a Bank of America account805, by using (e.g., clicking on) an “Install” button 810 associatedwith the payment method. The PPCEP may seamlessly update theconfiguration of the affected CEDs to facilitate support for theinstalled payment method.

FIG. 9 shows an app support adding and installing data flow diagram inone embodiment of the PPCEP. FIG. 9 provides an example of how data mayflow to, through, and/or from the PPCEP during app support adding andinstalling. In FIG. 9, a user such as a merchant 902 may indicate via aclient 906 that an app should be added 921 to a CED 914. In oneimplementation, the merchant may utilize a peripheral device of themerchant's client to input instructions via a web-based application. Forexample, the add app input may include data such as identifier of one ormore apps to add, identifiers of one or more CEDs on which the one ormore apps should be installed, app parameters for the one or more CEDs,scheduled update time, and/or the like.

An add app request 925 may be sent from the client to a PPCEP server. Inone embodiment, the PPCEP server may facilitate making apps availablefor downloading by CEDs. For example, the add app request may includedata such as the merchant's login information, identifier of one or moreapps to add, identifiers of one or more CEDs on which the one or moreapps should be installed, app parameters for the one or more CEDs,scheduled update time, and/or the like. In one implementation, the addapp request may be in XML format substantially in the following form:

  <XML> <AddAppRequest>  <Login>Login Info</Login>  <Apps>   <App>   <AppID>ID_App1</AppID>    <CEDs>     <CED>     <CEDID>ID_CED1</CEDID>      <Parameters>App Parameters1</Parameters>      <UpdateTime>Date and/or time 1</UpdateTime>    </CED>     <CED>      <CEDID>ID_CED2</CEDID>      <Parameters>AppParameters 2</Parameters>      <UpdateTime>Date and/or time2</UpdateTime>     </CED>    </CEDs>   </App>   <App>    ...   </App> </Apps> </AddAppRequest> </XML>

The PPCEP server may add scheduled apps data 929 to a data store ofscheduled downloads. For example, the scheduled apps data may include anidentifier of an app to add, an identifier of a CED, app parameters,scheduled update time, download settings, and/or the like. In oneimplementation, the scheduled apps data may be in XML formatsubstantially in the following form:

  <XML>  <ScheduledApp>   <AppID>ID_App1</AppID>  <CEDID>ID_CED1</CEDID>   <Parameters>App Parameters 1</Parameters>  <UpdateTime>Date and/or time 1</UpdateTime>  <DownloadSettings>FTP_Address<DownloadSettings>  </ScheduledApp></XML>

The PPCEP server may send an add app response 933 to the merchant. Forexample, the add app response may indicate whether the add app responsewas successfully handled. In one implementation, the add app responsemay be in XML format substantially in the following form:

  <XML>  <AddAppRequest>   <Status>OK</Status>  </AddAppRequest> </XML>

The client may provide an add app output 937 to the merchant. Forexample, the add app output may be a message indicating that the requestto add the app was completed successfully.

The CED may periodically (e.g., every hour) send a heartbeat request 941to the PPCEP server. For example, the heartbeat request may include datasuch as the identifier of the CED, the status of the CED, and/or thelike. In one implementation, the heartbeat request may be in XML formatsubstantially in the following form:

  <XML>  <HeartbeatRequest>   <CEDID>ID_CED1</CEDID>  <Status>OK</Status>  </HeartbeatRequest> </XML>

The PPCEP server may send a heartbeat response 945 to the CED. Forexample, the heartbeat response may include data such as the identifierof the PPCEP server, whether new and/or updated apps are available,download settings, and/or the like. In one implementation, the heartbeatresponse may be in XML format substantially in the following form:

  <XML>  <HeartbeatResponse>   <ServerID>ID_Server</ServerID>  <AppsAvailable>YES</AppsAvailable>   <Apps>    <App>    <AppID>ID_App1</AppID>     <Parameters>App Parameters 1</Parameters>    <UpdateTime>Date and/or time 1</UpdateTime>    <DownloadSettings>FTP_Address<DownloadSettings>    </App>   </Apps> </HeartbeatResponse> </XML>

At the scheduled update time, the CED may send an app download request949 to the PPCEP server. For example, the app download request mayinclude data such as the identifier of the CED, the identifier of theapp, app location, and/or the like. In one implementation, the appdownload request may be in XML format substantially in the followingform:

  <XML>  <DownloadRequest >   <CEDID>ID_CED1</CEDID>  <AppID>ID_App1</AppID>   <AppLocation>Directory and/or filename</AppLocation>  </DownloadRequest> </XML>

The PPCEP server may send an app download response 953 to the CED. Forexample, the PPCEP server may send the app (e.g., in a zip file). TheCED may analyze app data 957 (e.g., app parameters) and install the app.The CED may output a status at 961. For example, the CED may display astatus message (e.g., “New app installed successfully!”) on its display.

FIG. 10 shows a logic flow diagram illustrating an app support adding(ASA) component in one embodiment of the PPCEP. For example, the ASAcomponent may be used to facilitate adding app support to a CED. In FIG.10, an add app request may be received at 1001. For example, a user(e.g., a merchant, a PPCEP administrator) may utilize the app store toadd an app that facilitates acceptance of a payment method and/or adds afeature to the merchant's CEDs.

A determination may be made at 1005 whether there remain CEDs thatshould be scheduled for updating with the app. For example, the merchantmay wish to update CEDs in one of the merchant's store locations. In oneimplementation, the CEDs field of the add app request may be examined tomake this determination. If there remain CEDs that should be scheduledfor updating, the next CED may be selected at 1010.

Parameters for updating the CED may be determined at 1015. In oneembodiment, different types of CEDs supporting different sets offunctionality may be utilized by the merchant. Accordingly, the app maybe configured to provide functionality supported by the CED. In anotherembodiment, the merchant may wish different CEDs to support differentsets of functionality (e.g., CED at the point of sale, CED at thecustomer service desk). Accordingly, the app may be configured toprovide functionality requested by the merchant for the CED. Forexample, available functionality may include sale transactions, refundtransactions, void transactions, cancel transactions, batch reports,and/or the like. In one implementation, the Parameters field of the addapp request may be examined to make this determination.

The scheduled update time for the CED may be determined at 1020. Forexample, the merchant may specify a convenient update time (e.g., atnight when the store is closed, staggered such that one CED at a time isunavailable due to updating) that would reduce or eliminate disruptionsto the merchant's business operations. In one implementation, theUpdateTime field of the add app request may be examined to make thisdetermination.

Information regarding the app, app parameters, scheduled update time forthe CED, download settings, and/or the like data may be added to a datastore (e.g., a list) of scheduled downloads at 1025. For example, thisinformation may be stored in the apps data store 1230 f. When the CEDsends a heartbeat request to a PPCEP server, the CED may be informedthat an app (e.g., stored in a zip file in a specified location) isavailable for the CED by examining the list of scheduled downloads(e.g., by searching for the CED's identifier in the list).

If there remain CEDs that should be scheduled for updating, the next CEDmay be handled. Otherwise, a status may be provided at 1030. Forexample, a response indicating that the add payment app request wassuccessfully handled may be sent by the PPCEP server to the user'sclient.

FIG. 11 shows a logic flow diagram illustrating an app supportinstalling (ASI) component in one embodiment of the PPCEP. For example,the ASI component may be used to facilitate installing an app on a CED.In FIG. 11, a heartbeat request 1101 may be sent by a CED to a PPCEPserver. For example, the heartbeat request may confirm that the CED isoperational, may provide the CED's status, may inquire regardingavailability of new and/or updated apps, and/or the like. In oneimplementation, the heartbeat request may be sent periodically by theCED (e.g., every hour).

A determination may be made at 1105 whether there are new and/or updatedapps to install. For example, a merchant may have scheduled installationof two new apps to facilitate acceptance of two new payment methods bythe CED. In one embodiment, this determination may be made by examininga heartbeat response from the PPCEP server. In one implementation, theAppsAvailable field of the heartbeat response may be examined to makethis determination.

If there are no apps to install, the CED may wait a specified period oftime (e.g., an hour) to send the next heartbeat request. If there remainapps to install, the next app may be selected for installation at 1115.In one implementation, the Apps field of the heartbeat response may beexamined to make this selection.

The scheduled update time to download and/or install the selected appmay be determined at 1120. In one implementation, the UpdateTime fieldof the heartbeat response may be examined to make this determination. Adetermination may be made at 1125 whether it is time to update (e.g.,whether the scheduled update time has come). If it not yet time toupdate, the CED may wait until update time at 1130. It is to beunderstood, that the CED may perform other tasks (e.g., handle purchasetransactions, install other apps) while waiting for the update time.

If it is time to update, the CED may determine download settings at1130. For example, the download settings may include data such as the IPaddress and/or port of the server (e.g., FTP server) storing theapplication, connection port (e.g., of the FTP server), location of theapp (e.g., a directory and/or a file name), and/or the like. In oneimplementation, the DownloadSettings field of the heartbeat response maybe examined to make this determination. The CED may download the app at1135.

The CED may install the downloaded app at 1140. After installation, thepayment method and/or feature provided by the app may be available onthe CED. For example, the CED may be able to accept a new payment method(e.g., PayPal). In another example, the CED may be able to make use of anew feature (e.g., provide a QR coupon to a customer who utilizes amerchant preferred payment method).

The CED may display a status message at 1145. For example, the CED mayinform a user (e.g., the merchant) regarding the status of theinstallation (e.g., new app installed successfully).

Detailed Description of the PPCEP Coordinator

FIG. 12 shows a block diagram illustrating an exemplary PPCEPcoordinator in one embodiment of the PPCEP. The PPCEP coordinatorfacilitates the operation of the PPCEP via a computer system (e.g., oneor more cloud computing systems, grid computing systems, virtualizedcomputer systems, mainframe computers, servers, clients, nodes,desktops, mobile devices such as smart phones, cellular phones, tablets,personal digital assistants (PDAs), and/or the like, embedded computers,dedicated computers, a system on a chip (SOC)). For example, the PPCEPcoordinator may receive, obtain, aggregate, process, generate, store,retrieve, send, delete, input, output, and/or the like data (includingprogram data and program instructions); may execute programinstructions; may communicate with computer systems, with nodes, withusers, and/or the like. In various embodiments, the PPCEP coordinatormay comprise a standalone computer system, a distributed computersystem, a node in a computer network (i.e., a network of computersystems organized in a topology), a network of PPCEP coordinators,and/or the like. It is to be understood that the PPCEP coordinatorand/or the various PPCEP coordinator elements (e.g., processor, systembus, memory, input/output devices) may be organized in any number ofways (i.e., using any number and configuration of computer systems,computer networks, nodes, PPCEP coordinator elements, and/or the like)to facilitate PPCEP operation. Furthermore, it is to be understood thatthe various PPCEP coordinator computer systems, PPCEP coordinatorcomputer networks, PPCEP coordinator nodes, PPCEP coordinator elements,and/or the like may communicate among each other in any number of waysto facilitate PPCEP operation. As used in this disclosure, the term“user” refers generally to people and/or computer systems that interactwith the PPCEP; the term “server” refers generally to a computer system,a program, and/or a combination thereof that handles requests and/orresponds to requests from clients via a computer network; the term“client” refers generally to a computer system, a program, a user,and/or a combination thereof that generates requests and/or handlesresponses from servers via a computer network; the term “node” refersgenerally to a server, to a client, and/or to an intermediary computersystem, program, and/or a combination thereof that facilitatestransmission of and/or handling of requests and/or responses.

The PPCEP coordinator includes a processor 1201 that executes programinstructions (e.g., PPCEP program instructions). In various embodiments,the processor may be a general purpose microprocessor (e.g., a centralprocessing unit (CPU)), a dedicated microprocessor (e.g., a graphicsprocessing unit (GPU), a physics processing unit (PPU), a digital signalprocessor (DSP), a network processor, and/or the like), an externalprocessor, a plurality of processors (e.g., working in parallel,distributed, and/or the like), a microcontroller (e.g., for an embeddedsystem), and/or the like. The processor may be implemented usingintegrated circuits (ICs), application-specific integrated circuits(ASICs), field-programmable gate arrays (FPGAs), and/or the like. Invarious implementations, the processor may comprise one or more cores,may include embedded elements (e.g., a coprocessor such as a mathcoprocessor, a cryptographic coprocessor, a physics coprocessor, and/orthe like, registers, cache memory, software), may be synchronous (e.g.,using a clock signal) or asynchronous (e.g., without a central clock),and/or the like. For example, the processor may be an AMD FX processor,an AMD Opteron processor, an AMD Geode LX processor, an Intel Core i7processor, an Intel Xeon processor, an Intel Atom processor, an ARMCortex processor, an IBM PowerPC processor, and/or the like.

The processor may be connected to system memory 1205 via a system bus1203. The system bus may interconnect these and/or other elements of thePPCEP coordinator via electrical, electronic, optical, wireless, and/orthe like communication links (e.g., the system bus may be integratedinto a motherboard that interconnects PPCEP coordinator elements andprovides power from a power supply). In various embodiments, the systembus may comprise one or more control buses, address buses, data buses,memory buses, peripheral buses, and/or the like. In variousimplementations, the system bus may be a parallel bus, a serial bus, adaisy chain design, a hub design, and/or the like. For example, thesystem bus may comprise a front-side bus, a back-side bus, AMD'sHyperTransport, Intel's QuickPath Interconnect, a peripheral componentinterconnect (PCI) bus, an accelerated graphics port (AGP) bus, a PCIExpress bus, a low pin count (LPC) bus, a universal serial bus (USB),and/or the like. The system memory, in various embodiments, may compriseregisters, cache memory (e.g., level one, level two, level three), readonly memory (ROM) (e.g., BIOS, flash memory), random access memory (RAM)(e.g., static RAM (SRAM), dynamic RAM (DRAM), error-correcting code(ECC) memory), and/or the like. The system memory may be discreet,external, embedded, integrated into a CPU, and/or the like. Theprocessor may access, read from, write to, store in, erase, modify,and/or the like, the system memory in accordance with programinstructions (e.g., PPCEP program instructions) executed by theprocessor. The system memory may facilitate accessing, storing,retrieving, modifying, deleting, and/or the like data (e.g., PPCEP data)by the processor.

In various embodiments, input/output devices 1210 may be connected tothe processor and/or to the system memory, and/or to one another via thesystem bus.

In some embodiments, the input/output devices may include one or moregraphics devices 1211. The processor may make use of the one or moregraphic devices in accordance with program instructions (e.g., PPCEPprogram instructions) executed by the processor. In one implementation,a graphics device may be a video card that may obtain (e.g., via aconnected video camera), process (e.g., render a frame), output (e.g.,via a connected monitor, television, and/or the like), and/or the likegraphical (e.g., multimedia, video, image, text) data (e.g., PPCEPdata). A video card may be connected to the system bus via an interfacesuch as PCI, AGP, PCI Express, USB, PC Card, ExpressCard, and/or thelike. A video card may use one or more graphics processing units (GPUs),for example, by utilizing AMD's CrossFireX and/or NVIDIA's SLItechnologies. A video card may be connected via an interface (e.g.,video graphics array (VGA), digital video interface (DVI), Mini-DVI,Micro-DVI, high-definition multimedia interface (HDMI), DisplayPort,Thunderbolt, composite video, S-Video, component video, and/or the like)to one or more displays (e.g., cathode ray tube (CRT), liquid crystaldisplay (LCD), touchscreen, and/or the like) that display graphics. Forexample, a video card may be an AMD Radeon HD 6990, an ATI MobilityRadeon HD 5870, an AMD FirePro V9800P, an AMD Radeon E6760 MXM V3.0Module, an NVIDIA GeForce GTX 590, an NVIDIA GeForce GTX 580M, an IntelHD Graphics 3000, and/or the like. In another implementation, a graphicsdevice may be a video capture board that may obtain (e.g., via coaxialcable), process (e.g., overlay with other graphical data), capture,convert (e.g., between different formats, such as MPEG2 to H.264),and/or the like graphical data. A video capture board may be and/orinclude a TV tuner, may be compatible with a variety of broadcastsignals (e.g., NTSC, PAL, ATSC, QAM) may be a part of a video card,and/or the like. For example, a video capture board may be an ATIAll-in-Wonder HD, a Hauppauge ImpactVBR 01381, a HauppaugeWinTV-HVR-2250, a Hauppauge Colossus 01414, and/or the like. A graphicsdevice may be discreet, external, embedded, integrated into a CPU,and/or the like. A graphics device may operate in combination with othergraphics devices (e.g., in parallel) to provide improved capabilities,data throughput, color depth, and/or the like.

In some embodiments, the input/output devices may include one or moreaudio devices 1213. The processor may make use of the one or more audiodevices in accordance with program instructions (e.g., PPCEP programinstructions) executed by the processor. In one implementation, an audiodevice may be a sound card that may obtain (e.g., via a connectedmicrophone), process, output (e.g., via connected speakers), and/or thelike audio data (e.g., PPCEP data). A sound card may be connected to thesystem bus via an interface such as PCI, PCI Express, USB, PC Card,ExpressCard, and/or the like. A sound card may be connected via aninterface (e.g., tip sleeve (TS), tip ring sleeve (TRS), RCA, TOSLINK,optical) to one or more amplifiers, speakers (e.g., mono, stereo,surround sound), subwoofers, digital musical instruments, and/or thelike. For example, a sound card may be an Intel AC′97 integrated codecchip, an Intel HD Audio integrated codec chip, a Creative Sound BlasterX-Fi Titanium HD, a Creative Sound Blaster X-Fi Go! Pro, a CreativeSound Blaster Recon 3D, a Turtle Beach Riviera, a Turtle Beach Amigo II,and/or the like. An audio device may be discreet, external, embedded,integrated into a motherboard, and/or the like. An audio device mayoperate in combination with other audio devices (e.g., in parallel) toprovide improved capabilities, data throughput, audio quality, and/orthe like.

In some embodiments, the input/output devices may include one or morenetwork devices 1215. The processor may make use of the one or morenetwork devices in accordance with program instructions (e.g., PPCEPprogram instructions) executed by the processor. In one implementation,a network device may be a network card that may obtain (e.g., via aCategory 5 Ethernet cable), process, output (e.g., via a wirelessantenna), and/or the like network data (e.g., PPCEP data). A networkcard may be connected to the system bus via an interface such as PCI,PCI Express, USB, FireWire, PC Card, ExpressCard, and/or the like. Anetwork card may be a wired network card (e.g., 10/100/1000, opticalfiber), a wireless network card (e.g., Wi-Fi 802.11a/b/g/n/ac/ad,Bluetooth, Near Field Communication (NFC), TransferJet), a modem (e.g.,dialup telephone-based, asymmetric digital subscriber line (ADSL), cablemodem, power line modem, wireless modem based on cellular protocols suchas high speed packet access (HSPA), evolution-data optimized (EV-DO),global system for mobile communications (GSM), worldwideinteroperability for microwave access (WiMax), long term evolution(LTE), and/or the like, satellite modem, FM radio modem, radio-frequencyidentification (RFID) modem, infrared (IR) modem), and/or the like. Forexample, a network card may be an Intel EXPI9301CT, an Intel EXPI9402PT,a LINKSYS USB300M, a BUFFALO WLI-UC-G450, a Rosewill RNX-MiniN1, aTRENDnet TEW-623PI, a Rosewill RNX-N180UBE, an ASUS USB-BT211, aMOTOROLA SB6120, a U.S. Robotics USR5686G, a Zoom 5697-00-00F, aTRENDnet TPL-401E2K, a D-Link DHP-W306AV, a StarTech ET91000SC, aBroadcom BCM20791, a Broadcom InConcert BCM4330, a Broadcom BCM4360, anLG VL600, a Qualcomm MDM9600, a Toshiba TC35420 TransferJet device,and/or the like. A network device may be discreet, external, embedded,integrated into a motherboard, and/or the like. A network device mayoperate in combination with other network devices (e.g., in parallel) toprovide improved data throughput, redundancy, and/or the like. Forexample, protocols such as link aggregation control protocol (LACP)based on IEEE 802.3AD-2000 or IEEE 802.1AX-2008 standards may be used. Anetwork device may be used to connect to a local area network (LAN), awide area network (WAN), a metropolitan area network (MAN), a personalarea network, the Internet, an intranet, a Bluetooth network, an NFCnetwork, a Wi-Fi network, a cellular network, and/or the like.

In some embodiments, the input/output devices may include one or moreperipheral devices 1217. The processor may make use of the one or moreperipheral devices in accordance with program instructions (e.g., PPCEPprogram instructions) executed by the processor. In variousimplementations, a peripheral device may be a digital camera, a videocamera, a webcam, an electronically moveable pan tilt zoom (PTZ) camera,a monitor, a touchscreen display, active shutter 3D glasses,head-tracking 3D glasses, a remote control, an audio line-in, an audioline-out, a microphone, headphones, speakers, a subwoofer, a router, ahub, a switch, a firewall, an antenna, a keyboard, a mouse, a trackpad,a trackball, a digitizing tablet, a stylus, a joystick, a gamepad, agame controller, a force-feedback device, a laser, sensors (e.g.,proximity sensor, rangefinder, ambient temperature sensor, ambient lightsensor, humidity sensor, an accelerometer, a gyroscope, a motion sensor,an olfaction sensor, a biosensor, a chemical sensor, a magnetometer, aradar, a sonar, a location sensor such as global positioning system(GPS), Galileo, GLONASS, and/or the like), a printer, a fax, a scanner,a copier, a card reader, and/or the like. A peripheral device may beconnected to the system bus via an interface such as PCI, PCI Express,USB, FireWire, VGA, DVI, Mini-DVI, Micro-DVI, HDMI, DisplayPort,Thunderbolt, composite video, S-Video, component video, PC Card,ExpressCard, serial port, parallel port, PS/2, TS, TRS, RCA, TOSLINK,network connection (e.g., wired such as Ethernet, optical fiber, and/orthe like, wireless such as Wi-Fi, Bluetooth, NFC, cellular, and/or thelike), a connector of another input/output device, and/or the like. Aperipheral device may be discreet, external, embedded, integrated (e.g.,into a processor, into a motherboard), and/or the like. A peripheraldevice may operate in combination with other peripheral devices (e.g.,in parallel) to provide the PPCEP coordinator with a variety of input,output and processing capabilities.

In some embodiments, the input/output devices may include one or morestorage devices 1219. The processor may access, read from, write to,store in, erase, modify, and/or the like a storage device in accordancewith program instructions (e.g., PPCEP program instructions) executed bythe processor. A storage device may facilitate accessing, storing,retrieving, modifying, deleting, and/or the like data (e.g., PPCEP data)by the processor. In one implementation, the processor may access datafrom the storage device directly via the system bus. In anotherimplementation, the processor may access data from the storage device byinstructing the storage device to transfer the data to the system memoryand accessing the data from the system memory. In various embodiments, astorage device may be a hard disk drive (HDD), a solid-state drive(SSD), a floppy drive using diskettes, an optical disk drive (e.g.,compact disk (CD-ROM) drive, CD-Recordable (CD-R) drive, CD-Rewriteable(CD-RW) drive, digital versatile disc (DVD-ROM) drive, DVD-R drive,DVD-RW drive, Blu-ray disk (BD) drive) using an optical medium, amagnetic tape drive using a magnetic tape, a memory card (e.g., a USBflash drive, a compact flash (CF) card, a secure digital extendedcapacity (SDXC) card), a network attached storage (NAS), adirect-attached storage (DAS), a storage area network (SAN), otherprocessor-readable physical mediums, and/or the like. A storage devicemay be connected to the system bus via an interface such as PCI, PCIExpress, USB, FireWire, PC Card, ExpressCard, integrated driveelectronics (IDE), serial advanced technology attachment (SATA),external SATA (eSATA), small computer system interface (SCSI), serialattached SCSI (SAS), fibre channel (FC), network connection (e.g., wiredsuch as Ethernet, optical fiber, and/or the like; wireless such asWi-Fi, Bluetooth, NFC, cellular, and/or the like), and/or the like. Astorage device may be discreet, external, embedded, integrated (e.g.,into a motherboard, into another storage device), and/or the like. Astorage device may operate in combination with other storage devices toprovide improved capacity, data throughput, data redundancy, and/or thelike. For example, protocols such as redundant array of independentdisks (RAID) (e.g., RAID 0 (striping), RAID 1 (mirroring), RAID 5(striping with distributed parity), hybrid RAID), just a bunch of drives(JBOD), and/or the like may be used. In another example, virtual and/orphysical drives may be pooled to create a storage pool. In yet anotherexample, an SSD cache may be used with a HDD to improve speed.

Together and/or separately the system memory 1205 and the one or morestorage devices 1219 may be referred to as memory 1220 (i.e., physicalmemory).

PPCEP memory 1220 contains processor-operable (e.g., accessible) PPCEPdata stores 1230. Data stores 1230 comprise data that may be used (e.g.,by the PPCEP) via the PPCEP coordinator. Such data may be organizedusing one or more data formats such as a database (e.g., a relationaldatabase with database tables, an object-oriented database, a graphdatabase, a hierarchical database), a flat file (e.g., organized into atabular format), a binary file (e.g., a GIF file, an MPEG-4 file), astructured file (e.g., an HTML file, an XML file), a text file, and/orthe like. Furthermore, data may be organized using one or more datastructures such as an array, a queue, a stack, a set, a linked list, amap, a tree, a hash, a record, an object, a directed graph, and/or thelike. In various embodiments, data stores may be organized in any numberof ways (i.e., using any number and configuration of data formats, datastructures, PPCEP coordinator elements, and/or the like) to facilitatePPCEP operation. For example, PPCEP data stores may comprise data stores1230 a-f implemented as one or more databases. A users data store 1230 amay be a collection of database tables that include fields such asUserID, UserName, MerchantData, CustomerData, and/or the like. A clientsdata store 1230 b may be a collection of database tables that includefields such as ClientID, ClientName, CED_DeviceType,CED_ScreenResolution, CED_Location, and/or the like. A transactions datastore 1230 c may be a collection of database tables that include fieldssuch as TransactionID, TransactionMerchantID, TransactionType,TransactionAmount, TransactionItems, TransactionDate, TransactionTime,TransactionPaymentMethods, and/or the like. A promotions data store 1230d may be a collection of database tables that include fields such asPromotionID, PromotionFileName, PromotionType, PromotionDetails,PromotionAmount, and/or the like. A payment methods data store 1230 emay be a collection of database tables that include fields such asPaymentMethodID, PaymentMethodName, PaymentMethodFees,PaymentMethodPreferenceOrder, PaymentMethodHasRewardPoints, and/or thelike. An apps data store 1230 f may be a collection of database tablesthat include fields such as AppID, AppName, AppParameters,AppScheduledUpdateTime, AppDownloadSettings, and/or the like. The PPCEPcoordinator may use data stores 1230 to keep track of inputs,parameters, settings, variables, records, outputs, and/or the like.

PPCEP memory 1220 contains processor-operable (e.g., executable) PPCEPcomponents 1240. Components 1240 comprise program components (includingprogram instructions and any associated data stores) that are executed(e.g., by the PPCEP) via the PPCEP coordinator (i.e., via the processor)to transform PPCEP inputs into PPCEP outputs. It is to be understoodthat the various components and their subcomponents, capabilities,applications, and/or the like may be organized in any number of ways(i.e., using any number and configuration of components, subcomponents,capabilities, applications, PPCEP coordinator elements, and/or the like)to facilitate PPCEP operation. Furthermore, it is to be understood thatthe various components and their subcomponents, capabilities,applications, and/or the like may communicate among each other in anynumber of ways to facilitate PPCEP operation. For example, the variouscomponents and their subcomponents, capabilities, applications, and/orthe like may be combined, integrated, consolidated, split up,distributed, and/or the like in any number of ways to facilitate PPCEPoperation. In another example, a single or multiple instances of thevarious components and their subcomponents, capabilities, applications,and/or the like may be instantiated on each of a single PPCEPcoordinator node, across multiple PPCEP coordinator nodes, and/or thelike.

In various embodiments, program components may be developed using one ormore programming languages, techniques, tools, and/or the like such asan assembly language, Ada, BASIC, C, C++, C#, COBOL, Fortran, Java,LabVIEW, Lisp, Mathematica, MATLAB, OCaml, PL/I, Smalltalk, Visual Basicfor Applications (VBA), HTML, XML, CSS, JavaScript, JavaScript ObjectNotation (JSON), PHP, Perl, Ruby, Python, Asynchronous JavaScript andXML (AJAX), Simple Object Access Protocol (SOAP), SSL, ColdFusion,Microsoft .NET, Apache modules, Adobe Flash, Adobe AIR, MicrosoftSilverlight, Windows PowerShell, batch files, Tcl, graphical userinterface (GUI) toolkits, SQL, database adapters, web applicationprogramming interfaces (APIs), application server extensions, integrateddevelopment environments (IDEs), libraries (e.g., object libraries,class libraries, remote libraries), remote procedure calls (RPCs),Common Object Request Broker Architecture (CORBA), and/or the like.

In some embodiments, components 1240 may include an operatingenvironment component 1240 a. The operating environment component mayfacilitate operation of the PPCEP via various subcomponents.

In some implementations, the operating environment component may includean operating system subcomponent. The operating system subcomponent mayprovide an abstraction layer that facilitates the use of, communicationamong, common services for, interaction with, security of, and/or thelike of various PPCEP coordinator elements, components, data stores,and/or the like.

In some embodiments, the operating system subcomponent may facilitateexecution of program instructions (e.g., PPCEP program instructions) bythe processor by providing process management capabilities. For example,the operating system subcomponent may facilitate the use of multipleprocessors, the execution of multiple processes, multitasking, and/orthe like.

In some embodiments, the operating system subcomponent may facilitatethe use of memory by the PPCEP. For example, the operating systemsubcomponent may allocate and/or free memory, facilitate memoryaddressing, provide memory segmentation and/or protection, providevirtual memory capability, facilitate caching, and/or the like. Inanother example, the operating system subcomponent may include a filesystem (e.g., File Allocation Table (FAT), New Technology File System(NTFS), Hierarchical File System Plus (HFS+), Universal Disk Format(UDF), Linear Tape File System (LTFS)) to facilitate storage, retrieval,deletion, aggregation, processing, generation, and/or the like of data.

In some embodiments, the operating system subcomponent may facilitateoperation of and/or processing of data for and/or from input/outputdevices. For example, the operating system subcomponent may include oneor more device drivers, interrupt handlers, file systems, and/or thelike that allow interaction with input/output devices.

In some embodiments, the operating system subcomponent may facilitateoperation of the PPCEP coordinator as a node in a computer network byproviding support for one or more communications protocols. For example,the operating system subcomponent may include support for the internetprotocol suite (i.e., Transmission Control Protocol/Internet Protocol(TCP/IP)) of network protocols such as TCP, IP, User Datagram Protocol(UDP), Mobile IP, and/or the like. In another example, the operatingsystem subcomponent may include support for security protocols (e.g.,Wired Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA), WPA2) forwireless computer networks. In yet another example, the operating systemsubcomponent may include support for virtual private networks (VPNs).

In some embodiments, the operating system subcomponent may facilitatesecurity of the PPCEP coordinator. For example, the operating systemsubcomponent may provide services such as authentication, authorization,audit, network intrusion-detection capabilities, firewall capabilities,antivirus capabilities, and/or the like.

In some embodiments, the operating system subcomponent may facilitateuser interaction with the PPCEP by providing user interface elementsthat may be used by the PPCEP to generate a user interface. In oneimplementation, such user interface elements may include widgets (e.g.,windows, dialog boxes, scrollbars, menu bars, tabs, ribbons, menus,buttons, text boxes, checkboxes, combo boxes, drop-down lists, listboxes, radio buttons, sliders, spinners, grids, labels, progressindicators, icons, tooltips, and/or the like) that may be used to obtaininput from and/or provide output to the user. For example, such widgetsmay be used via a widget toolkit such as Microsoft Foundation Classes(MFC), Apple Cocoa Touch, Java Swing, GTK+, Qt, Yahoo! User InterfaceLibrary (YUI), and/or the like. In another implementation, such userinterface elements may include sounds (e.g., event notification soundsstored in MP3 file format), animations, vibrations, and/or the like thatmay be used to inform the user regarding occurrence of various events.For example, the operating system subcomponent may include a userinterface such as Windows Aero, Mac OS X Aqua, GNOME Shell, KDE PlasmaWorkspaces (e.g., Plasma Desktop, Plasma Netbook, Plasma Contour, PlasmaMobile), and/or the like.

In various embodiments the operating system subcomponent may comprise asingle-user operating system, a multi-user operating system, asingle-tasking operating system, a multitasking operating system, asingle-processor operating system, a multiprocessor operating system, adistributed operating system, an embedded operating system, a real-timeoperating system, and/or the like. For example, the operating systemsubcomponent may comprise an operating system such as UNIX, LINUX, IBMi, Sun Solaris, Microsoft Windows Server, Microsoft DOS, MicrosoftWindows 7, Apple Mac OS X, Apple iOS, Android, Symbian, Windows Phone 7,Blackberry QNX, and/or the like.

In some implementations, the operating environment component may includea database subcomponent. The database subcomponent may facilitate PPCEPcapabilities such as storage, analysis, retrieval, access, modification,deletion, aggregation, generation, and/or the like of data (e.g., theuse of data stores 1230). The database subcomponent may make use ofdatabase languages (e.g., Structured Query Language (SQL), XQuery),stored procedures, triggers, APIs, and/or the like to provide thesecapabilities. In various embodiments the database subcomponent maycomprise a cloud database, a data warehouse, a distributed database, anembedded database, a parallel database, a real-time database, and/or thelike. For example, the database subcomponent may comprise a databasesuch as Microsoft SQL Server, Microsoft Access, MySQL, IBM DB2, OracleDatabase, and/or the like.

In some implementations, the operating environment component may includean information handling subcomponent. The information handlingsubcomponent may provide the PPCEP with capabilities to serve, deliver,upload, obtain, present, download, and/or the like a variety ofinformation. The information handling subcomponent may use protocolssuch as Hypertext Transfer Protocol (HTTP), Hypertext Transfer ProtocolSecure (HTTPS), File Transfer Protocol (FTP), Telnet, Secure Shell(SSH), Transport Layer Security (TLS), Secure Sockets Layer (SSL),peer-to-peer (P2P) protocols (e.g., BitTorrent), and/or the like tohandle communication of information such as web pages, files, multimediacontent (e.g., streaming media), applications, and/or the like.

In some embodiments, the information handling subcomponent mayfacilitate the serving of information to users, PPCEP components, nodesin a computer network, web browsers, and/or the like. For example, theinformation handling subcomponent may comprise a web server such asApache HTTP Server, Microsoft Internet Information Services (IIS),Oracle WebLogic Server, Adobe Flash Media Server, Adobe Content Server,and/or the like. Furthermore, a web server may include extensions,plug-ins, add-ons, servlets, and/or the like. For example, these mayinclude Apache modules, IIS extensions, Java servlets, and/or the like.In some implementations, the information handling subcomponent maycommunicate with the database subcomponent via standards such as OpenDatabase Connectivity (ODBC), Java Database Connectivity (JDBC), ActiveXData Objects for .NET (ADO.NET), and/or the like. For example, theinformation handling subcomponent may use such standards to store,analyze, retrieve, access, modify, delete, aggregate, generate, and/orthe like data (e.g., data from data stores 1230) via the databasesubcomponent.

In some embodiments, the information handling subcomponent mayfacilitate presentation of information obtained from users, PPCEPcomponents, nodes in a computer network, web servers, and/or the like.For example, the information handling subcomponent may comprise a webbrowser such as Microsoft Internet Explorer, Mozilla Firefox, AppleSafari, Google Chrome, Opera Mobile, Amazon Silk, Nintendo 3DS InternetBrowser, and/or the like. Furthermore, a web browser may includeextensions, plug-ins, add-ons, applets, and/or the like. For example,these may include Adobe Flash Player, Adobe Acrobat plug-in, MicrosoftSilverlight plug-in, Microsoft Office plug-in, Java plug-in, and/or thelike.

In some implementations, the operating environment component may includea messaging subcomponent. The messaging subcomponent may facilitatePPCEP message communications capabilities. The messaging subcomponentmay use protocols such as Simple Mail Transfer Protocol (SMTP), InternetMessage Access Protocol (IMAM Post Office Protocol (POP), ExtensibleMessaging and Presence Protocol (XMPP), Real-time Transport Protocol(RTP), Internet Relay Chat (IRC), Skype protocol, AOL's Open System forCommunication in Realtime (OSCAR), Messaging Application ProgrammingInterface (MAPI), Facebook API, and/or the like to facilitate PPCEPmessage communications. The messaging subcomponent may facilitatemessage communications such as email, instant messaging, Voice over IP(VoIP), video conferencing, Short Message Service (SMS), web chat,and/or the like. For example, the messaging subcomponent may compriseMicrosoft Exchange Server, Microsoft Outlook, Sendmail, IBM LotusDomino, Gmail, AOL Instant Messenger (AIM), Yahoo Messenger, ICQ,Trillian, Skype, Google Talk, Apple FaceTime, Apple iChat, FacebookChat, and/or the like.

In some implementations, the operating environment component may includea security subcomponent that facilitates PPCEP security. In someembodiments, the security subcomponent may restrict access to the PPCEP,to one or more services provided by the PPCEP, to data associated withthe PPCEP (e.g., stored in data stores 1230), to communication messagesassociated with the PPCEP, and/or the like to authorized users. Accessmay be granted via a login screen, via an API that obtainsauthentication information, via an authentication token, and/or thelike. For example, the user may obtain access by providing a usernameand/or a password (e.g., a string of characters, a picture password), apersonal identification number (PIN), an identification card, a magneticstripe card, a smart card, a biometric identifier (e.g., a finger print,a voice print, a retina scan, a face scan), a gesture (e.g., a swipe), amedia access control (MAC) address, an IP address, and/or the like.Various security models such as access-control lists (ACLs),capability-based security, hierarchical protection domains, and/or thelike may be used to control access. For example, the securitysubcomponent may facilitate digital rights management (DRM), networkintrusion detection, firewall capabilities, and/or the like.

In some embodiments, the security subcomponent may use cryptographictechniques to secure information (e.g., by storing encrypted data),verify message authentication (e.g., via a digital signature), provideintegrity checking (e.g., a checksum), and/or the like by facilitatingencryption and/or decryption of data. Furthermore, steganographictechniques may be used instead of or in combination with cryptographictechniques. Cryptographic techniques used by the PPCEP may includesymmetric key cryptography using shared keys (e.g., using one or moreblock ciphers such as triple Data Encryption Standard (DES), AdvancedEncryption Standard (AES); stream ciphers such as Rivest Cipher 4 (RC4),Rabbit), asymmetric key cryptography using a public key/private key pair(e.g., using algorithms such as Rivest-Shamir-Adleman (RSA), DigitalSignature Algorithm (DSA)), cryptographic hash functions (e.g., usingalgorithms such as Message-Digest 5 (MD5), Secure Hash Algorithm 2(SHA-2)), and/or the like. For example, the security subcomponent maycomprise a cryptographic system such as Pretty Good Privacy (PGP).

In some implementations, the operating environment component may includea virtualization subcomponent that facilitates PPCEP virtualizationcapabilities. In some embodiments, the virtualization subcomponent mayprovide support for platform virtualization (e.g., via a virtualmachine). Platform virtualization types may include full virtualization,partial virtualization, paravirtualization, and/or the like. In someimplementations, platform virtualization may be hardware-assisted (e.g.,via support from the processor using technologies such as AMD-V, IntelVT-x, and/or the like). In some embodiments, the virtualizationsubcomponent may provide support for various other virtualizedenvironments such as via operating-system level virtualization, desktopvirtualization, workspace virtualization, mobile virtualization,application virtualization, database virtualization, and/or the like. Insome embodiments, the virtualization subcomponent may provide supportfor various virtualized resources such as via memory virtualization,storage virtualization, data virtualization, network virtualization,and/or the like. For example, the virtualization subcomponent maycomprise VMware software suite (e.g., VMware Server, VMware Workstation,VMware Player, VMware ESX, VMware ESXi, VMware ThinApp, VMwareInfrastructure), Parallels software suite (e.g., Parallels Server,Parallels Workstation, Parallels Desktop, Parallels Mobile, ParallelsVirtuozzo Containers), Oracle software suite (e.g., Oracle VM Server forSPARC, Oracle VM Server for x86, Oracle VM VirtualBox, Oracle Solaris10, Oracle Solaris 11), Informatica Data Services, Wine, and/or thelike.

In some embodiments, components 1240 may include a user interfacecomponent 1240 b. The user interface component may facilitate userinteraction with the PPCEP by providing a user interface. In variousimplementations, the user interface component may include programmaticinstructions to obtain input from and/or provide output to the user viaphysical controls (e.g., physical buttons, switches, knobs, wheels,dials), textual user interface, audio user interface, GUI, voicerecognition, gesture recognition, touch and/or multi-touch userinterface, messages, APIs, and/or the like. In some implementations, theuser interface component may make use of the user interface elementsprovided by the operating system subcomponent of the operatingenvironment component. For example, the user interface component maymake use of the operating system subcomponent's user interface elementsvia a widget toolkit. In some implementations, the user interfacecomponent may make use of information presentation capabilities providedby the information handling subcomponent of the operating environmentcomponent. For example, the user interface component may make use of aweb browser to provide a user interface via HTML5, Adobe Flash,Microsoft Silverlight, and/or the like.

In some embodiments, components 1240 may include any of the componentsGTP 1240 c, CTP 1240 d, PMH 1240 e, PSH 1240 f, ASA 1240 g, ASI 1240 hdescribed in more detail in preceding figures.

The Embodiments of the PPCEP

The entirety of this disclosure (including the written description,figures, claims, abstract, appendices, and/or the like) for PAYMENTPROCESSING AND CUSTOMER ENGAGEMENT PLATFORM METHODS, APPARATUSES ANDMEDIA shows various embodiments via which the claimed innovations may bepracticed. It is to be understood that these embodiments and thefeatures they describe are a representative sample presented to assistin understanding the claimed innovations, and are not exhaustive and/orexclusive. As such, the various embodiments, implementations, examples,and/or the like are deemed non-limiting throughout this disclosure.Furthermore, alternate undescribed embodiments may be available (e.g.,equivalent embodiments). Such alternate embodiments have not beendiscussed in detail to preserve space and/or reduce repetition. Thatalternate embodiments have not been discussed in detail is not to beconsidered a disclaimer of such alternate undescribed embodiments, andno inference should be drawn regarding such alternate undescribedembodiments relative to those discussed in detail in this disclosure. Itis to be understood that such alternate undescribed embodiments may beutilized without departing from the spirit and/or scope of thedisclosure. For example, the organizational, logical, physical,functional, topological, and/or the like structures of variousembodiments may differ. In another example, the organizational, logical,physical, functional, topological, and/or the like structures of thePPCEP coordinator, PPCEP coordinator elements, PPCEP data stores, PPCEPcomponents and their subcomponents, capabilities, applications, and/orthe like described in various embodiments throughout this disclosure arenot limited to a fixed operating order and/or arrangement, instead, allequivalent operating orders and/or arrangements are contemplated by thisdisclosure. In yet another example, the PPCEP coordinator, PPCEPcoordinator elements, PPCEP data stores, PPCEP components and theirsubcomponents, capabilities, applications, and/or the like described invarious embodiments throughout this disclosure are not limited to serialexecution, instead, any number and/or configuration of threads,processes, instances, services, servers, clients, nodes, and/or the likethat execute in parallel, concurrently, simultaneously, synchronously,asynchronously, and/or the like is contemplated by this disclosure.Furthermore, it is to be understood that some of the features describedin this disclosure may be mutually contradictory, incompatible,inapplicable, and/or the like, and are not present simultaneously in thesame embodiment. Accordingly, the various embodiments, implementations,examples, and/or the like are not to be considered limitations on thedisclosure as defined by the claims or limitations on equivalents to theclaims.

This disclosure includes innovations not currently claimed. Applicantreserves all rights in such currently unclaimed innovations includingthe rights to claim such innovations and to file additional provisionalapplications, nonprovisional applications, continuation applications,continuation-in-part applications, divisional applications, and/or thelike. It is to be understood that while some embodiments of the PPCEPdiscussed in this disclosure have been directed to facilitating customerbased transaction processing by merchants utilizing POS systems, theinnovations described in this disclosure may be readily applied to awide variety of other fields and/or applications.

1.-135. (canceled)
 136. A computer-implemented payment collectionmethod, comprising, at a server system: receiving, from a point-of-salesystem, transaction details associated with a first transaction; storingthe received transaction details; associating a transaction token withthe stored transaction details; sending the transaction token to thepoint-of-sale system; receiving, from a customer engagement device, atransaction details request, wherein the transaction details requestincludes the transaction token; sending, to the customer engagementdevice, the stored transaction details associated with the transactiontoken; receiving payment information for the first transaction;determining, based on the payment information, whether payment for thefirst transaction is authorized; and in accordance with a determinationthat payment for the first transaction is authorized, sending, to aremote device, a confirmation that payment is authorized.
 137. Themethod of claim 136, wherein the customer engagement device is distinctfrom the point-of-sale system and is communicatively coupled to thepoint-of-sale system.
 138. The method of claim 136, wherein the paymentinformation for the first transaction is received from the customerengagement device.
 139. The method of claim 136, wherein the receivedtransaction details include at least one of a customer identifier, anitem identifier, an item quantity, an item price, and a total amountdue.
 140. The method of claim 136, wherein determining whether paymentfor the first transaction is authorized includes: sending the paymentinformation to a payment processor; and receiving, from the paymentprocessor, information indicating whether payment for the firsttransaction is authorized.
 141. The method of claim 136, wherein theremote device is the point-of-sale device.
 142. The method of claim 136,wherein the remote device is the customer engagement device.
 143. Themethod of claim 137, further comprising: determining a promotionalprofile for the customer engagement device; selecting promotional orinformational material, based at least in part on the promotionalprofile for the customer engagement device; and causing the promotionalor informational material to be sent to the customer engagement device.144. The method of claim 143, wherein the promotional or informationalmaterial is further selected based on information from the receivedtransaction details.
 145. The method of claim 143, wherein thepromotional or informational material is further selected based on aproduct being purchased in the first transaction.
 146. The method ofclaim 145, wherein the promotional or informational material includes atleast one of a coupon, an advertisement, and a discount offer.
 147. Themethod of claim 143, wherein the promotional profile is based at leastin part on stored historical transaction information associated with thecustomer engagement device.
 148. The method of claim 137, wherein thetransaction details request includes at least one of an identifier ofthe customer engagement device, a location of the customer engagementdevice, a department identifier of the customer engagement device, and amerchant identifier of the customer engagement device.
 149. Anon-transitory computer readable storage medium storing one or moreprograms, the one or more programs comprising instructions that, whenexecuted by an electronic device, cause the electronic device to:receive, from a point-of-sale system, transaction details associatedwith a first transaction; store the received transaction details;associate a transaction token with the stored transaction details; sendthe transaction token to the point-of-sale system; receive, from acustomer engagement device, a transaction details request, wherein thetransaction details request includes the transaction token; send, to thecustomer engagement device, the stored transaction details associatedwith the transaction token; receive payment information for the firsttransaction; determine, based on the payment information, whetherpayment for the first transaction is authorized; and in accordance witha determination that payment for the first transaction is authorized,send, to a remote device, a confirmation that payment is authorized.150. The computer readable storage medium of claim 149, the one or moreprograms further comprising instructions that cause the electronicdevice to: determine a promotional profile for the customer engagementdevice; select promotional or informational material based at least inpart on: the promotional profile for the customer engagement device; andinformation from the received transaction details; and cause thepromotional or informational material to be sent to the customerengagement device.
 151. A server system, comprising: one or moreprocessors; memory; and one or more programs, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors, the one or more programs including instructionsfor: receiving, from a point-of-sale system, transaction detailsassociated with a first transaction; storing the received transactiondetails; associating a transaction token with the stored transactiondetails; sending the transaction token to the point-of-sale system;receiving, from a customer engagement device, a transaction detailsrequest, wherein the transaction details request includes thetransaction token; sending, to the customer engagement device, thestored transaction details associated with the transaction token;receiving payment information for the first transaction; determining,based on the payment information, whether payment for the firsttransaction is authorized; and in accordance with a determination thatpayment for the first transaction is authorized, sending, to a remotedevice, a confirmation that payment is authorized.
 152. The serversystem of claim 151, the one or more programs including instructionsfor: determining a promotional profile for the customer engagementdevice; selecting promotional or informational material based at leastin part on: the promotional profile for the customer engagement device;and information from the received transaction details; and causing thepromotional or informational material to be sent to the customerengagement device.
 153. A computer-implemented method for selectingpromotional or informational material for presentation to a customer,comprising, at a server system: receiving, from a transaction systemassociated with a merchant: transaction details associated with a firsttransaction between the merchant and a customer; and an identifier ofthe merchant; determining a promotional profile for the merchant;selecting promotional or informational material based at least in parton the promotional profile for the merchant; and causing the promotionalor informational material to be presented to the customer.
 154. Themethod of claim 153, wherein the promotional or informational materialis further selected based on information from the transaction details.155. The method of claim 154, wherein the promotional profile for themerchant is based at least in part on stored historical transactioninformation associated with the merchant.
 156. The method of claim 154,wherein the promotional profile for the merchant is based at least inpart on products and/or services available from the merchant.
 157. Acomputer-implemented method for selecting promotional or informationalmaterial for presentation to a customer, comprising, at a server system:receiving, from a point-of-sale system, transaction details associatedwith a first transaction between a customer and a merchant; receiving,from a customer engagement device that is communicatively coupled to thepoint-of-sale system: information identifying the customer engagementdevice; and information associating the customer engagement device withthe first transaction; determining a promotional profile for thecustomer engagement device; selecting promotional or informationalmaterial based at least in part on the promotional profile for thecustomer engagement device and information from the transaction detailsassociated with the first transaction; and causing the promotional orinformational material to be presented on the customer engagementdevice.
 158. The method of claim 157, wherein the promotional orinformational material is further selected based on a product beingpurchased in the first transaction.
 159. The method of claim 158,wherein the promotional or informational material is further selectedbased on products and/or services available from the merchant.
 160. Themethod of claim 157, wherein the promotional profile for the customerengagement device is based at least in part on stored historicaltransaction information associated with the customer engagement device,wherein the stored historical transaction information includes recordsof previous transactions performed at the customer engagement device.161. The method of claim 160, wherein the stored historical informationincludes previous transactions between the merchant and customers.